两进程分别建立在客户机和服务器上,现已通过SOCKET()进行连接,当有一方出了问题时,另一方怎么知道,并怎么解决?求JAVA原程序并带解释.

解决方案 »

  1.   

    一般来说断开后会出现Exception
    像下面一样:
    当断开后,会输出.
    java.net.SocketException: Connection reset
            at java.net.SocketInputStream.read(Unknown Source)
            at java.net.SocketInputStream.read(Unknown Source)
            at Socket_Server.main(Socket_Server.java:16)
      

  2.   

    这我知道断开后会出现Exception;
    问题是如果不是因断开所造成的呢?如一方由于正忙没收到信息,或一方死机了,或收到的数据不是原始数据?
      

  3.   

    如果对方因为某些原因没有对发出的信息做出应答,Socket 会自动断开。不管对方是否有意断开连接,还是因为其他原因。
      

  4.   

    我知道有个设置超时的语句,但具体用JAVA如何实现,我不知道,谁能给出原程序.谢谢
      

  5.   

    查一下JAVA DOC  void setSoTimeout(int timeout)           Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds.
    没试过 自己是一下吧!
      

  6.   

    mydomain>web application>你的web服务包>confication>description>JSPPage Check Secs: 设定为3.zheya
      

  7.   

    还有 就是即使设置超时间了 你一样要对SocketException 进行处理,也就是说设置的超时时间就是SocketException产生的时间!