社区
Linux/Unix社区
帖子详情
客户端 socket 断开后 服务器端系统如何处理?
ets2008
2009-04-26 11:26:35
客户端主动断开后, 服务器端因为没有运行 send 或 recv ,检测不到socket的断开,所以没有执行close()操作, 请问,服务器的的系统会回收这个socket fd 吗?谢谢,linux系统
...全文
251
5
打赏
收藏
客户端 socket 断开后 服务器端系统如何处理?
客户端主动断开后, 服务器端因为没有运行 send 或 recv ,检测不到socket的断开,所以没有执行close()操作, 请问,服务器的的系统会回收这个socket fd 吗?谢谢,linux系统
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
猫已经找不回了
2009-04-26
打赏
举报
回复
你的服务器的子线程阻塞在recv 的撒,socket断开,你的客户端会自动发一个消息通知server,然后server就会有后续动作的。
ets2008
2009-04-26
打赏
举报
回复
谢谢,我明白了,等服务器处理完数据后,就发送,不管发送成功与否,都要clos()。
猫已经找不回了
2009-04-26
打赏
举报
回复
[Quote=引用 2 楼 ets2008 的回复:]
没有运行 recv 函数,服务器将数据处理完后,找到socket fd 再执行 recv, 并没有阻塞在recv 。
[/Quote]
你不阻塞,那就是用类似于select的复用咯。总之不管你怎么做,对面发包过来,你总得接收,所以可以收到client断开的消息。
ets2008
2009-04-26
打赏
举报
回复
使用了消息队列,因为线程id在不同的进程可能会重复,所以没有使用多线程;
ets2008
2009-04-26
打赏
举报
回复
没有运行 recv 函数,服务器将数据处理完后,找到socket fd 再执行 recv, 并没有阻塞在recv 。
Android的
socket
长连接(心跳检测)
- 服务启动后,监听指定端口,当有新的
Socket
连接请求时,创建线程
处理
客户端
的输入输出流,同时
处理
心跳检测。 6. **
Socket
Test_
客户端
** - 这是
客户端
的实现,可能包括一个Activity或Service用于创建
Socket
连接...
Java实现
Socket
长连接和短连接
- 建立连接:
客户端
使用
Socket
类的connect()方法连接到
服务器端
的特定端口。 - 数据传输:通过
Socket
对象的输入/输出流进行数据的发送和接收。 - 关闭连接:完成通信后,双方都会调用
Socket
的close()方法关闭连接。 ...
Unity3D
Socket
Demo
服务器端
通常需要创建一个监听
Socket
,监听特定的IP地址和端口,等待
客户端
的连接。当
客户端
连接请求到达时,服务器会创建一个新的
Socket
与
客户端
进行通信,
处理
客户端
发送的数据,并可以向
客户端
发送数据。 而...
Signalr即时通讯.Net MVC Demo 下载
SignalR当然也提供了非常简单易用的高阶API,使
服务器端
可以单个或批量调用
客户端
上的JavaScript函数,并且非常 方便地进行连接管理,例如
客户端
连接到
服务器端
,或
断开
连接,
客户端
分组,以及
客户端
授权,使用...
C# ASP.NET MVC Web
Socket
在C#
服务器端
,当
客户端
断开
连接或发生错误时,`Web
Socket
Action`中的`ReceiveAsync`调用将抛出异常。在JavaScript
客户端
,可以通过`close`方法关闭连接。 通过以上步骤,你可以在ASP.NET MVC C#项目中实现...
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章