C#中,socket通信,怎么知道对方的信息已经发完?用read()如果没有可接收信息会直接阻塞。
答案:3 悬赏:20
解决时间 2021-03-21 15:08
- 提问者网友:芷芹
- 2021-03-20 21:14
C#中,socket通信,怎么知道对方的信息已经发完?用read()如果没有可接收信息会直接阻塞。
最佳答案
- 二级知识专家网友:两不相欠
- 2021-03-20 22:46
从原理上讲,网络传输层无法知道对方是否发送完,只有应用层面才能知道。 socket里面有阻塞式也有非阻塞式,看你自己选择
全部回答
- 1楼网友:懂得ㄋ、沉默
- 2021-03-21 02:01
TcpClient、UdpClient、Socket类型的对象都有一个属性叫Available,可以知道当前有没有数据可以接收。不是0的话,就不会阻塞
- 2楼网友:迷人小乖乖
- 2021-03-21 00:25
你的代码都是阻塞模式下的代码,是按照某个固定的流程完成某些功能,这不是设置一个false就解决问题的,必须编写符合非阻塞模式下的代码才行。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯