c# udp socket
时间: 2023-08-02 14:43:24 浏览: 203
C#中使用UDP套接字进行网络通信需要使用System.Net.Sockets命名空间中的UdpClient类或Socket类。以下是一个简单的使用UdpClient类进行UDP通信的示例:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class UdpSender
{
static void Main(string[] args)
{
UdpClient udpClient = new UdpClient();
string message = "Hello, World!";
byte[] data = Encoding.UTF8.GetBytes(message);
IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse("192.168.1.100"), 11000);
udpClient.Send(data, data.Length, remoteEP);
udpClient.Close();
}
}
class UdpReceiver
{
static void Main(string[] args)
{
UdpClient udpClient = new UdpClient(11000);
IPEndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0);
while (true)
{
byte[] data = udpClient.Receive(ref remoteEP);
string message = Encoding.UTF8.GetString(data);
Console.WriteLine("Received: {0}", message);
}
udpClient.Close();
}
}
```
在此示例中,`UdpSender`类代表发送方,`UdpReceiver`类代表接收方。发送方首先创建一个`UdpClient`实例,然后将要发送的消息转换为字节数组并指定远程IP地址和端口号,最后调用`Send`方法发送消息。接收方首先创建一个`UdpClient`实例并绑定到本地IP地址和端口号,然后调用`Receive`方法等待接收消息,接收到消息后将其转换为字符串并输出。
当然,使用Socket类进行UDP通信也是类似的,只不过需要手动处理数据包的接收和发送。
阅读全文