问题描述
套接字的BeginReceive函数是阻塞的,希望在需要强制结束它的时候可以在其他地方把它结束掉,但目前知道的方法是关闭套接字,显然这个是不规范的,仅仅是要结束这个接收函数为什么要把套接字关了,但是,在网上搜了很久都没有找到其他更有效的方法,希望高手们能指点下,万分感谢!
解决方案
解决方案二:
引用楼主huangyinghua的回复:
套接字的BeginReceive函数是阻塞的,
什么意思?你从哪里看到它是阻塞的呢?
解决方案三:
我知道它是异步,执行BeginReceive会立即返回,但是它是在后台运行着不断监听接收数据的,站在我的角度看它就相当于阻塞了,只要没有数据到来,它就会一直监听等待数据,现在我希望能在其他地方结束它的等待接收。
解决方案四:
EndReceive不行么
解决方案五:
再说,不是可以设置readtimeout么,怎么会;没有数据就一直等待呢
解决方案六:
请知道的高手指点,万分感谢!
时间: 2024-10-01 20:11:02