如何判断一个socket的有效性 当与远程主机建立连接后,会有一个socket,如何可以随时判断这个socket是否还有效呢,有没有什么简单的方法。在不向远程主机发送数据包的情况下,知道这个socket是否还有效呢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 socket的有效性就是体现在它可以‘连接’,所以还是需要尝试连接才能判断它是否有效。 socket == INVALIDE_SOCKET证明socket是无效的否则有效 你可以借鉴java的相关只是:jdk1.4里面已经有了新的函数,专门解决你这个问题如果<1.4,只能用上面的方法+--java.net.SocketException|+--java.net.ConnectException 判断socket值来保持socket的连接,可以铜鼓heartbeat to nuaawenlin(飘人) :socket连接后,socket != INVALIDE_SOCKET,证明有效,这时候拔掉网线,服务器和客户端不会有任何消息,socket值还是有效,这时候这个socket还能收发数据? 其实楼主的问题是判断一个连接是否有效,而不是socket是否有效。我想在远程主机崩溃的情况下,如果不发送数据,底层tcp也不会知道断了没有,要么在没有设置keeplive的情况下等他自己断掉,然后通知应用层,要么等tcp自己发送keeplive包来发现断掉。看上去好像没法满足楼主的要求啊。期待牛人。 求教操作Visual Studio 2010的视频! VC重绘菜单栏问题 杀进程与类析构函数的调用 小窗口如何改为大窗口! 求如何将数字字符串转换成钱的习惯读法?(解答者给全分,分不够在给!) 简单问题!!请问如何对自定义消息 WM_MYMESSAGE 进行手工映射 怎样在桌面右下角的托盘里显示256色的图标? 各位请看下面的程序,为什么会出现异常?? mfc编程中,怎么接收左右键同时click的消息,马上给分! ListCtrl 界面的问题 vc做的dialog程序,在一台WINDOWS2000的机器上运行,界面不显示,但进程在,为何? 关于在线升级,谁有源程序参考一下,谢谢!!
否则有效
jdk1.4里面已经有了新的函数,专门解决你这个问题
如果<1.4,只能用上面的方法
+--java.net.SocketException
|
+--java.net.ConnectException
来保持socket的连接,可以铜鼓heartbeat
看上去好像没法满足楼主的要求啊。期待牛人。