首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

TCP使用RECEIVE函数,该如何处理

2013-12-28 
TCP使用RECEIVE函数当在Client端使用Receive函数的时候,如果Sever端没有发东西,程序就阻塞了。这种使用实在

TCP使用RECEIVE函数
当在Client端使用Receive函数的时候,如果Sever端没有发东西,程序就阻塞了。
这种使用实在太困惑了,有没有办法让它先检测一下呢?

Server端这个问题还不突出,因为Server端可以使用多线程。

但是Client端只有一个线程,一旦阻塞了就难办了。 TCP阻塞
[解决办法]
Client 也可以使用线程来解决这个问题。发送和接收线程,共用一个socket。
[解决办法]
采用异步IO模式。用一个线程根本不叫解决,只不过那个线程跟界面无关,你体会不懂卡而已
[解决办法]
要么开线程,要么用异步,线程比较简单。
[解决办法]
不要用阻塞模式
[解决办法]
接收数据有同步和异步之分,同步接收逻辑控制简单,但会阻塞,需要单开线程,异步接收逻辑控制复杂,但效率高,不阻塞。
楼主根据需要选择吧。

热点排行