`
hzy3774
  • 浏览: 992977 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

C#中使用TCP通信

 
阅读更多

TCP通信需要通信双方都在线,所以需要先启动服务端进行监听,客户端才能获得连接,服务端代码:

 static void Main(string[] args)
        {
            TcpClient client = null;
            NetworkStream stream = null;
            byte[] buffer = null;
            string receiveString = null;

            IPAddress localIP = IPAddress.Parse("127.0.0.1");
            int localPort = 11000;
            TcpListener listener = new TcpListener(localIP, localPort);//用本地IP和端口实例化Listener
            listener.Start();//开始监听
            while (true)
            {
                client = listener.AcceptTcpClient();//接受一个Client
                buffer = new byte[client.ReceiveBufferSize];
                stream = client.GetStream();//获取网络流
                stream.Read(buffer, 0, buffer.Length);//读取网络流中的数据
                stream.Close();//关闭流
                client.Close();//关闭Client

                receiveString = Encoding.Default.GetString(buffer).Trim('\0');//转换成字符串
                Console.WriteLine(receiveString);
            }
        }

 只有服务端开启监听后,客户端才能正确连接,所以服务端要一直开启监听,客户端每次发送数据,都要首先与服务端建立连接,连接建立完成后才进行数据发送。客户端代码:

static void Main(string[] args)
        {
            string sendString = null;//要发送的字符串
            byte[] sendData = null;//要发送的字节数组
            TcpClient client = null;//TcpClient实例
            NetworkStream stream = null;//网络流

            IPAddress remoteIP = IPAddress.Parse("127.0.0.1");//远程主机IP
            int remotePort = 11000;//远程主机端口

            while (true)//死循环
            {
                sendString = Console.ReadLine();//获取要发送的字符串
                sendData = Encoding.Default.GetBytes(sendString);//获取要发送的字节数组
                client = new TcpClient();//实例化TcpClient
                try
                {
                    client.Connect(remoteIP, remotePort);//连接远程主机
                }
                catch (System.Exception ex)
                {
                    Console.WriteLine("连接超时,服务器没有响应!");//连接失败
                    Console.ReadKey();
                    return;
                }
                stream = client.GetStream();//获取网络流
                stream.Write(sendData, 0, sendData.Length);//将数据写入网络流
                stream.Close();//关闭网络流
                client.Close();//关闭客户端
            }
        }
 


 
  • 大小: 16.2 KB
分享到:
评论

相关推荐

    C#TCP通信协议

    在C#中实现TCP通信,主要涉及到System.Net和System.Net.Sockets命名空间中的类。首先,我们需要创建一个TcpClient对象,用于客户端连接,或者创建一个TcpListener对象,用于服务器端监听连接请求。接下来,我们详细...

    C#winform TCP通信 UDP通信 Socket通信 vs2017 .net4.0

    通过此项目,开发者可以深入理解TCP和UDP的区别,掌握如何在C#环境中使用Socket进行网络通信,并了解如何在WinForm应用中实现数据的定时发送和接收。同时,该项目还涉及字符编码处理,增加了实际应用中的复杂性,有...

    C#,winform,Tcp通信源码 使用TcpListener和TcpClient 源码

    总的来说,TcpListener和TcpClient是C#中实现TCP通信的基础工具,它们使得开发者能够轻松地构建可靠的、面向连接的网络服务。理解并掌握这两类的使用方法对于开发网络应用至关重要。通过深入研究提供的源码,可以...

    C# TCP/IP通信小例子

    在C#中,我们通常使用System.Net命名空间下的Socket类来处理TCP/IP通信。 首先,让我们来看看服务端的实现。服务端需要监听特定的端口,等待客户端的连接请求。在C#中,可以创建一个Socket实例,并调用Bind方法绑定...

    C#网络编程TCP通信实例

    本篇文章将深入探讨C#中的TCP网络编程,以"TCP通信实例"为主要内容,结合提供的压缩包文件"BenXHSocket",我们将学习如何创建和使用TCP客户端和服务器,以及理解TCP通信的基本原理和关键概念。 TCP是一种面向连接的...

    C#网络通信之TCP连接,客户端和服务端的tcp收发信息

    在TCP通信中,数据通常以字节流的形式传输,因此可能需要进行编码和解码。例如,字符串可以使用Encoding类转换为字节数组,再通过NetworkStream发送;接收的数据也需要反向转换。 文件"C#网络通信之TCP连接.txt...

    C#使用TCPIP与ModBus进行通讯,c语言实现tcp通信,C#

    本文将详细讲解如何使用C#通过TCP/IP协议与ModBus设备进行通讯,以及C#实现TCP通信的基本步骤。 首先,我们要了解什么是ModBus。ModBus是一种通用的串行通信协议,最初由Modicon公司开发,现在已经成为工业自动化...

    C# 如何实现TCP通信.zip

    本文将深入探讨如何使用C#语言来实现TCP通信,包括TCP服务器和客户端的创建,以及相关的编程技巧。 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,它确保了数据的顺序传输和错误检查。在C#中,我们...

    VS2010 C# TCP通信程序

    VS2010 C# TCP通信程序全部源代码,使用Sockets类实现同步TCP通信。

    TCP.rar_C# TCP通信_C# TCP 通信_C# TCP通信_TCP通信_TCP通信C

    在实际的TCP通信中,我们还需要处理数据的读写。使用NetworkStream对象,可以结合StreamReader和StreamWriter进行文本数据的读写,或者直接使用BufferedStream进行二进制数据的处理。 例如,发送字符串: ```csharp...

    C#TCP 通信(TCP发送16进制)

    在C#中,我们可以使用System.Net.Sockets命名空间下的TcpClient和TcpListener类来实现客户端和服务器之间的TCP通信。 首先,我们需要创建一个TCP服务器。这通常涉及到以下步骤: 1. 创建一个TcpListener实例,指定...

    C#_TCP通讯的实现方法_.net_基于C#快速实现TCP通信_

    本篇文章将详细探讨如何使用C#实现TCP通信,以帮助开发者快速理解和应用。 首先,TCP通信的基础是套接字(Socket),它是操作系统提供的网络通信接口。在C#中,我们可以通过System.Net.Sockets命名空间下的Socket类...

    C#TCP通信例子

    在C#中,`System.Net.Sockets`命名空间提供了用于TCP通信的类,如`TcpClient`和`TcpListener`。`TcpClient`代表客户端,负责发起连接请求;`TcpListener`则代表服务器端,监听特定端口的连接请求。 3. **TCP服务器...

    C#使用ModbusTcp协议与西门子1200PLC通讯源码

    资源名:C#使用ModbusTcp协议与西门子1200PLC通讯源码 资源类型:程序源代码 源码说明: C#使用ModbusTcp协议与西门子1200PLC通讯。包含modbus协议的全部八种功能码的读写程序。 适合人群:新手及有一定经验的开发...

    网络通信 C#语言 TCP网络通信

    通过实践这个TCP通信程序,你可以深入了解网络通信的流程,掌握C#中实现网络通信的方法,这对于开发涉及网络交互的软件,如即时聊天工具、文件传输应用等,具有重要的学习价值。同时,理解TCP协议的工作机制,也有助...

    C# TCP 通信(数据、文件的传输)

    在TCP通信中,数据通常以字节流的形式传输。C#提供了BinaryReader和BinaryWriter类,它们可以方便地将各种类型的数据转换为字节流,反之亦然。创建这两个类的实例,关联到NetworkStream,即可进行数据的读写操作。...

    C#网络编程TCP通信实例程序简单设计

    在本教程中,我们将深入探讨如何使用C#设计一个简单的TCP通信实例程序。 首先,理解TCP通信的基本步骤至关重要。TCP通信主要包括以下环节: 1. **建立连接**:客户端通过`Socket`类创建一个套接字,并使用`Connect...

    C# ModBus通信读写操作,ModBus Rtu串口通信,ModBus Tcp通信,全开源可使用 零基础快速对接ModBus

    C#对三菱和西门子,欧姆龙等支持...2)支持ModBusTcp通信读写操作 3)支持ModBusRtu串口通信读写操作 4)支持ModBusAscii串口通信读写操作 5)支持ModbusRtuOverTcp通信读写操作 6)请放心下载,多个项目已经在使用;

Global site tag (gtag.js) - Google Analytics