社区
网络编程
帖子详情
如何判断socket最后一次收到数据到现在的时间?
mo_mo_momo
2014-09-05 05:51:45
如何判断socket最后一次收到数据到现在的时间?
client 发送一次数据
server收到该socket的数据
若干时间后
server怎么判断,此刻距离上一次收到该socket的数据有多长时间了?
谢谢大家
...全文
130
5
打赏
收藏
如何判断socket最后一次收到数据到现在的时间?
如何判断socket最后一次收到数据到现在的时间? client 发送一次数据 server收到该socket的数据 若干时间后 server怎么判断,此刻距离上一次收到该socket的数据有多长时间了? 谢谢大家
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mo_mo_momo
2014-09-09
打赏
举报
回复
大家的方法都很好,不过我是想做服务器,自动断线系统的,加太多的处理的话,不是很好的解决方法,
lx624909677
2014-09-06
打赏
举报
回复
可以在clien端发送的数据包加个发送时间,然后server端解析的时候把这个时间直接读出来就可以了
dvlinker
2014-09-05
打赏
举报
回复
调用GetTickCount记录上一次收到数据时的时间,然后在需要边比较的时候再调用GetTickCount,两者之差值即是socket最后一次收到数据到现在的时间
encoderlee
2014-09-05
打赏
举报
回复
每接收到一次数据,就保存当前的时间。 若干时间后,用当前时间减去之前保存的时间,就是距离上一次收到数据的时间间隔
huabinsir
2014-09-05
打赏
举报
回复
包中有时间戳,通过时间戳可以知道.
JAVA
Socket
超时浅析
JAVA
Socket
超时浅析 套接字或插座(
socket
)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于
数据
流的套接字类:Server
Socket
,服务器用它“侦听”进入的连接;
Socket
,客户端用它初始
一次
连接。侦听套接字只能接收新的连接请求,不能接收实际的
数据
包。
linux C语言
socket
如何
判断
socket
_fd对应的
socket
是否断开?(是否连通、是否正常连接)recv()、tcp_info TCP_ESTABLISHED、keepalive
文章目录
判断
socket
连接断开的方法法一法二法三法四说明有关SO_KEEPALIVE的三个参数详细解释如下法五
判断
socket
连接断开的方法 法一 当recv()返回值小于等于0时,
socket
连接断开。但是还需要
判断
errno是否等于 EINTR,如果errno == EINTR 则说明recv函数是由于程序接
收到
信号后返回的,
socket
连接还是正常的,不应close掉
socket
连接。 法二 struct tcp_info info; int len=sizeof(info); getsocko
【Android学习】
socket
长连接,
数据
粘包问题
1,问题再现之前的
socket
连接,都是每次使用的时候,重新new
socket
。根据实际需求,需要进行长连接,即:
socket
连接后不断开,每次使用的时候也不重新new新的
socket
。此时出现新的问题:第
一次
发送
数据
还好,第二次接
收到
的
数据
出现粘包问题,导致json解析
数据
无法成功。2,问题解决上网搜了无数帖子,发现
socket
的粘包问题始终无法避免。
最后
我们采用了http来进行登录、任务的接收
socket
连接长
时间
没有发送消息之后客户端发送消息服务端接收不到。
局域网内没有问题,然后公网地址存在问题。那么问题的原因就是网络链路的问题。比如:防火墙、nginx等中间件使
socket
通道断开。服务器开启一个
socket
服务。然后客户端用工具测试,开始正常的,但是客户端闲置10分钟左右然后再去发送发现服务端收不到消息了。经过多次排除,
最后
发现局域网内客户端不管闲置多久都不会发生服务端接收不到的情况;建议采用心跳监听,如果断开及时重连。
C#
判断
socket
断开
转自:http://blog.csdn.net/zzy7075/article/details/7969641 在做就餐机PCCserver时,发现个问题,当客户端已经将
socket
正常关掉时,服务器端的
socket
.connected还是显示true,并没有
判断
出客户端断开,而C++就能够通过检测close事件,立刻
判断
出客户端断开。后来查阅资料发现,服务器端需要通过发送
数据
才能检测出客户
网络编程
18,358
社区成员
64,186
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章