社区
网络编程
帖子详情
关于socket断开时,recv工作的问题
Bestsharp007
2012-02-21 05:56:05
CS模型中,客户端用非阻塞模式不断发送数据,服务器用阻塞模式接受数据
服务器接收到数据之后,要进行解析,所以可能接受比发送慢
如果客户端突然断开,这时候socket缓存中仍然有未被recv读取出来的数据
这时候recv会直接失败,还是读取完剩下的数据之后,才返回失败?
...全文
281
4
打赏
收藏
关于socket断开时,recv工作的问题
CS模型中,客户端用非阻塞模式不断发送数据,服务器用阻塞模式接受数据 服务器接收到数据之后,要进行解析,所以可能接受比发送慢 如果客户端突然断开,这时候socket缓存中仍然有未被recv读取出来的数据 这时候recv会直接失败,还是读取完剩下的数据之后,才返回失败?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Bestsharp007
2012-02-23
打赏
举报
回复
[Quote=引用 3 楼 quwei197874 的回复:]
会读完缓冲区的数据
[/Quote]
多谢
quwei197874
2012-02-21
打赏
举报
回复
会读完缓冲区的数据
chenjiawei007
2012-02-21
打赏
举报
回复
没有你所说的情况,对端没有recv,send是不会完全的,看返回值就是了,recv多少字节,send就多少字节。
chenjiawei007
2012-02-21
打赏
举报
回复
没有你所说的情况,对端没有recv,send是不会完全的,看返回值就是了,recv多少字节,send就多少字节。
socket
编程中应用
recv
判断连接已
断开
在Linux的
socket
编程中,有一种非常方便的方法,来判断对方是否
断开
了连接,就是使用
recv
函数。 在APUE 中,对
recv
的表述如下, #include <sys/
socket
.h> ssize_t
recv
(int sockfd, void *buf, size_t nbytes...
Python2.7解决在
socket
非阻塞
recv
这次项目碰到在单线程下TCP/IP连接后,自写服务端,当客户端已经连接到,但是没发送数据
时
,可以自行
断开
连接,即解决
recv
非阻塞
问题
。 首先在网上差了一下,可以解决的的手段有三种 第一种:
socket
.setblocking(0) ...
深入理解
socket
中的
recv
函数和send函数
**·**
recv
函数用于
socket
通信中接收消息,接口定义如下: ssize_t
recv
(int
socket
, void *buf, size_t len, int flags) 参数一:指定接收端套接字描述符; 参数二:指向一个缓冲区,该缓冲区用来存放
recv
函数接收...
linux C语言
socket
如何判断
socket
_fd对应的
socket
是否
断开
?(是否连通、是否正常连接)
recv
()、tcp_info TCP_ESTABLISHED、keepalive
当
recv
()返回值小于等于0
时
,
socket
连接
断开
。但是还需要判断 errno是否等于 EINTR,如果errno == EINTR 则说明
recv
函数是由于程序接收到信号后返回的,
socket
连接还是正常的,不应close掉
socket
连接。 法二 struct ...
python threading中停止
socket
.
recv
在用PyQt5界面库写
socket
局域网通信
时
,发现窗口关闭后程序仍在运行,认真检查后是线程中的
recv
函数出了
问题
,在
socket
关闭后(
socket
.close()),
socket
.
recv
()仍会堵塞,导致线程无法释放,现找到了三种做法 ...
网络编程
18,356
社区成员
64,217
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章