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

关于socket套接字recv回到的条件

2012-09-07 
关于socket套接字recv返回的条件使用套件调用recv的时候的返回条件如果接受缓冲区未满,recv一定会返回么,

关于socket套接字recv返回的条件
使用套件调用recv的时候的返回条件


如果接受缓冲区未满,recv一定会返回么,比如客户端调用send,这时recv返回了。
那么会不会出现这样的情况,客户端调用send后,服务端缓冲未满,recv没有返回,这时客户端又调用了几次send,服务端直到缓冲区满之后才返回。

服务端怎么判断send发送结束了?

[解决办法]
你读你的,他发他的,你何必管他.

检查send返回值和recv返回值即可。
[解决办法]

探讨
引用:

你读你的,他发他的,你何必管他.

检查send返回值和recv返回值即可。

资料说tcp是流协议,那么send发送的不是流么,流怎么判断结束?

[解决办法]
关于服务器判断客户端是否send结束这个是由发送来告诉服务器的。
比如发送方先告诉客户端 我要给你发送1024个字节。那么服务器收到1024个字节就知道数据发送完毕了。至于是继续recv还是close socket这个就看自己的需求了。

服务器是不知道客户端神马时候发送完毕的。当然如果客户端断开了连接这个时候服务器端recv 会返回 0。

热点排行
Bad Request.