【发布时间】:2018-07-25 18:48:32
【问题描述】:
在两个单独的线程上使用单个 UdpClient 实例同时从客户端接收并发送到不同的客户端是否安全?根据 MSDN 文档,这对 TcpClient 来说很好,但我不确定是否适用于 UdpClient。我在这里缩短了我的代码来理解这个想法。
void ReceiveThread () {
while (running) {
var payload = udpClient.Receive(ref clientEndPoint);
QueuePayload(payload);
}
}
void SendThread () {
var payload = DequeuePayload();
while (running) {
udpClient.Send(payload, payload.Count, client2EndPoint);
}
}
每当我发送有效负载时,创建一个新的 UdpClient 是解决这个问题的好方法吗?有效载荷将非常频繁地发送(大约每秒 20 个)。
【问题讨论】:
标签: c# networking