站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题问一个非常菜的问题socket监听端口怎么判断客户端非法断开

问一个非常菜的问题socket监听端口怎么判断客户端非法断开

摘要: 问一个非常菜的问题socket监听端口怎么判断客户端非法断开


同主题


Socket.isConnected() 可以判断是否还连着


没有其他事件么,那个需要我主动去调用,为什么客户端断开连个异常都没有呢


看来只有用setSoTimeout(10000) 设置过期时间如果客户端10秒内不发送东西就默认断开,不知道还有没有更好的方法


你可以在这个 socket 上做 read(),如果对方断开,你能得到一个 IOException


我做了read()可实际上如果拔网线并不能得到任何Exception.


我连‘非常菜’的级别都不是,唉!涂墙!


hehe, 好像“拔网线”是得不到什么通知的,read() 只能感知到对端的 close()。

恐怕只能周期性地发个 packet 试试了~~


这个我试过做一个C/S的
因为要不停读取
所以在socket.accept()后开始执行一个线程
run()方法里
while(true){ read()}
连上后一断开读不到东西就会报错
此时break; + 个 print()语句就可以抓到错误了


恩看来还真是没什么好办法。谢谢大家:)


↑返回目录
前一篇: Struts Logic Tags
后一篇: 求一个比较菜的问题的解决方法,请好心人进来看看。在线等。