NetworkStream.Write函数是向协议栈的缓冲区写数据,如果缓冲区满了,则会等待对方将缓冲区的数据取走之后才能继续写入,否则会一直阻塞。
当通信的双方的缓冲区同时满了时会造成死锁的情况。
缓解方案:
_tcpClient.SendBufferSize = ;
_tcpClient.ReceiveBufferSize = ;
//手动增大缓冲区的大小
本文探讨了NetworkStream.Write函数在向协议栈缓冲区写入数据时遇到的问题,特别是当缓冲区满时导致的阻塞现象,并提出了解决死锁的方法——通过手动设置_TCPClient的发送和接收缓冲区大小来增大缓冲区。
NetworkStream.Write函数是向协议栈的缓冲区写数据,如果缓冲区满了,则会等待对方将缓冲区的数据取走之后才能继续写入,否则会一直阻塞。
当通信的双方的缓冲区同时满了时会造成死锁的情况。
缓解方案:
_tcpClient.SendBufferSize = ;
_tcpClient.ReceiveBufferSize = ;
//手动增大缓冲区的大小
1111

被折叠的 条评论
为什么被折叠?