1
1
我发现最小化丢弃的数据包的方法是,像您提到的那样,从套接字异步读取数据,但是要将读取的字节放入线程安全队列中,然后让另一个线程从队列中读取并处理字节。如果您使用的是.Net 4.0,则可以使用ConcurrentQueue:
注意:StopEvent是一个ManualResetEvent,因此ReceiveCallback和ReadReceiveQueue方法都可以使用同一个事件来完全关闭。 |
2
1
如果只有一个套接字,并且可以独立处理UDP数据包,那么最好的方法实际上是使用一个线程池,其中每个线程调用一个阻塞接收。操作系统将负责唤醒一个等待的线程来接收/处理数据包。这样可以避免异步I/O例程带来的任何开销。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |