关于socket套接字recv回到的条件
关于socket套接字recv返回的条件使用套件调用recv的时候的返回条件如果接受缓冲区未满,recv一定会返回么,
关于socket套接字recv返回的条件
使用套件调用recv的时候的返回条件
如果接受缓冲区未满,recv一定会返回么,比如客户端调用send,这时recv返回了。
那么会不会出现这样的情况,客户端调用send后,服务端缓冲未满,recv没有返回,这时客户端又调用了几次send,服务端直到缓冲区满之后才返回。
服务端怎么判断send发送结束了?
[解决办法]
你读你的,他发他的,你何必管他.
检查send返回值和recv返回值即可。
[解决办法]
[解决办法]关于服务器判断客户端是否send结束这个是由发送来告诉服务器的。
比如发送方先告诉客户端 我要给你发送1024个字节。那么服务器收到1024个字节就知道数据发送完毕了。至于是继续recv还是close socket这个就看自己的需求了。
服务器是不知道客户端神马时候发送完毕的。当然如果客户端断开了连接这个时候服务器端recv 会返回 0。