一个socket的问题
时间:2011-12-07
来源:互联网
基于tcp,一个socket连接已经被keep-alive杀掉了。
这个时候再调用Shutdown跟Close会有什么问题吗???????????
这个时候再调用Shutdown跟Close会有什么问题吗???????????
作者: rere8899 发布时间: 2011-12-07
或者keep-alive是自动关闭tcp连接,还是将错误返回给应用程序让自己来关闭连接???
作者: rere8899 发布时间: 2011-12-07
你怎知道已经杀掉了?如果是“偶尔”,那么你的代码如何基于“偶尔” 来编程?你总要确保100%运行正确吧。
作者: sp1234 发布时间: 2011-12-07
你就写出一个代码,让我看看——用你的代码——你是如何知道“被杀掉了”。如果不能,那么你自然要正规地shutdown或者至少要close。
作者: sp1234 发布时间: 2011-12-07
引用 2 楼 sp1234 的回复:
你怎知道已经杀掉了?如果是“偶尔”,那么你的代码如何基于“偶尔” 来编程?你总要确保100%运行正确吧。
你怎知道已经杀掉了?如果是“偶尔”,那么你的代码如何基于“偶尔” 来编程?你总要确保100%运行正确吧。
C#的socket有提供保活机制的,SetSocketOption里面设置的。问题是客户端突然异常掉线了,没有发FIN过来。服务端的TCP就不知道客户已经断开。所以它用保活定时探测。
然后tcp探测到该客户连接已经断开,释放掉该连接。
我的问题是,tcp属于内核层,他释放掉了连接跟tcb,但是在应用层如果连接释放了,还要很多东西需要处理比如资源释放。也就是怎么通知倒应用层的???
我不知道你说的偶尔是什么意思。
作者: rere8899 发布时间: 2011-12-15
不会,只要socket对象没有被销毁掉,就可以调用那两个方法关闭
作者: Carpathia 发布时间: 2011-12-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28