parameter on means 
whether or not to have socket keep alive turned on

解决方案 »

  1.   

    isClosed() 
    boolean isConnected() 
    好像这两个函数在标准的jdk socket中没有,你用的是不是jb特有的一些东西?
      

  2.   

    c/s程序中,一般网络中断有三种情况。
    对方正常断开
    自己正常断开
    网络异常中断对方断开和自己断开都好办,异常中断未必是实时的,因为tcp/ip协议还会等待直到timeout
    所以遇到这样的情况,只要根据异常的具体类型来分别处理就好了。
    检查 isConnected 可以防止在socket已经断开的情况下你还企图去使用所造成的逻辑错误。