当前位置: 技术问答>linux和unix
求教:SOCK 通信问题
来源: 互联网 发布时间:2016-10-24
本文导语: server端用于读数据: 1、server端select端口之后,accept()与客启端建立了一个新的通信套接口fd并将其设为NONBLOCK,保持长链接,套接口可以重用,将fd单独保存并保持链接。 2、client端write数据之后close套接口...
server端用于读数据:
1、server端select端口之后,accept()与客启端建立了一个新的通信套接口fd并将其设为NONBLOCK,保持长链接,套接口可以重用,将fd单独保存并保持链接。
2、client端write数据之后close套接口,
3、server端接收数据成功。但一直处于不断的读取(由于是个while(1)),还可以读到clien发送的正确数据,
问:
不明白client已经关闭链接了,server端为什么可以一直读到数据。
1、server端select端口之后,accept()与客启端建立了一个新的通信套接口fd并将其设为NONBLOCK,保持长链接,套接口可以重用,将fd单独保存并保持链接。
2、client端write数据之后close套接口,
3、server端接收数据成功。但一直处于不断的读取(由于是个while(1)),还可以读到clien发送的正确数据,
问:
不明白client已经关闭链接了,server端为什么可以一直读到数据。
|
一直读到数据??
server端读完了客户端发送的全部数据之后,还能再读?
你有没有检查server端读的返回值啊..
server端读完了客户端发送的全部数据之后,还能再读?
你有没有检查server端读的返回值啊..
|
应该是读到的上次的数据吧,
|
跟前面两位的说法一样!!我提个醒
我以前 遇到过这个问题 write() 错误转入参数 data_size ,
也就是data_size 不等于 实际发送数据的大小
我以前 遇到过这个问题 write() 错误转入参数 data_size ,
也就是data_size 不等于 实际发送数据的大小