关于Java Socket编程的问题?

spirix 2002-01-10 03:39:59
当服务器端已经和一个客户建立了连接,但是,由于一些情况,客户端突然无故短线(比如突然断电之类),请问如何在服务器端检测该连接是否还可用?
多谢赐教!
...全文
71 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyyoung 2002-01-10
  • 打赏
  • 举报
回复
会出现以下错误。

java.net.SocketException: Connection reset by peer: JVM_recv in socket input stream read
at java.net.SocketInputStream.socketRead(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:90)
at java.net.SocketInputStream.read(SocketInputStream.java:71)
at java.io.InputStreamReader.fill(InputStreamReader.java:163)
at java.io.InputStreamReader.read(InputStreamReader.java:239)
at java.io.BufferedReader.fill(BufferedReader.java:137)
at java.io.BufferedReader.readLine(BufferedReader.java, Compiled Code)
at java.io.BufferedReader.readLine(BufferedReader.java, Compiled Code)
skyyoung 2002-01-10
  • 打赏
  • 举报
回复
Java provides a mechanism in the Socket class which allows you to set a timeout period on a per-socket basis. By invoking the setSoTimeout(int) method before you attempt a read() operation on the socket, for example, you may specify how long, in milliseconds, the socket should wait before the read throws a java.io.InterruptedIOException. A value of zero means wait forever.

hyhong_h 2002-01-10
  • 打赏
  • 举报
回复
轮询。
z_yheart 2002-01-10
  • 打赏
  • 举报
回复
设置超时应该可以吧

23,405

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧