C# fins udp通用类
时间: 2024-10-06 08:00:36 浏览: 28
在C#中,你可以创建一个通用的UDP(用户数据报协议)类来处理无连接的数据传输。这样的类通常包含发送和接收数据的功能,以及一些基本的网络设置。下面是一个简单的示例,展示如何创建一个基础的UDP客户端或服务器:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
public class UdpClientWrapper : IDisposable
{
private readonly UdpClient _udpClient;
public UdpClientWrapper(string ipAddress = "0.0.0.0", int port = 12345)
{
_udpClient = new UdpClient(port);
_udpClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Parse(ipAddress), port);
_udpClient.Connect(remoteEndPoint);
}
// 发送数据
public void SendData(string data, string recipientIpAddress, int recipientPort)
{
byte[] bytes = Encoding.UTF8.GetBytes(data);
IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse(recipientIpAddress), recipientPort);
_udpClient.Send(bytes, bytes.Length, endpoint);
}
// 接收数据
public Tuple<string, int> ReceiveData()
{
IPEndPoint sender = default(IPEndPoint);
byte[] buffer = _udpClient.Receive(ref sender);
return Tuple.Create(Encoding.UTF8.GetString(buffer), sender.Port);
}
// 释放资源
public void Dispose()
{
_udpClient.Close();
}
}
```
这个`UdpClientWrapper`类可以作为基础工具,根据需要扩展其他功能,比如错误处理、连接管理等。使用时,只需实例化并调用对应的方法即可。
阅读全文