C# tcp/ip通信
时间: 2024-10-25 15:10:30 浏览: 25
C# TCP/IP通信小例子
5星 · 资源好评率100%
在C#中,TCP/IP通信是指使用Internet协议套件(TCP/IP Stack)中的传输控制协议(TCP)和用户数据报协议(UDP)来进行应用程序间的通信。TCP是一种面向连接的协议,适合于需要可靠传输的应用,如Web服务器、电子邮件等;而UDP则是一种无连接的协议,速度快但不保证数据完整性,常用于实时应用,如在线游戏、语音聊天。
**TCP通信**:
使用`System.Net.Sockets`命名空间下的`TcpClient`类和`Socket`类。首先创建一个TCP客户端或服务器,然后建立连接并进行双向数据交换。
```csharp
TcpClient client = new TcpClient();
client.Connect("192.168.1.1", 80); // 连接至指定主机和端口
// 发送数据
StreamWriter writer = new StreamWriter(client.GetStream());
writer.WriteLine("Hello, server!");
// 接收数据
StreamReader reader = new StreamReader(client.GetStream());
string response = reader.ReadLine();
Console.WriteLine("Response: " + response);
```
**UDP通信**:
使用`UdpClient`类发送和接收数据,不需要预先建立连接。
```csharp
UdpClient udpClient = new UdpClient(12345);
IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, 12345); // 设置本地监听端口
udpClient.Send(Encoding.UTF8.GetBytes("Message to send"), "192.168.1.2", 80); // 发送数据到特定IP和端口
IPEndPoint remotePoint = (IPEndPoint)udpClient.Receive(ref endPoint); // 接收数据
string receivedMessage = Encoding.UTF8.GetString(udpClient.Receive(ref endPoint));
```
阅读全文