是的,在关闭的时候产生的!
关闭代码为:socket.close();
发送小数据量的时候不会产生这问题
但是在发送打数据量的时候:比如是10000条记录的时候就产生这问题了!

解决方案 »

  1.   

    public int closeSSLSocket()
    {
    int i = -1;
    if(this.sokcetx == null)
    {
    return ConsDef.SOCK_ERROR;
    }
    try{
    this.sokcetx.close();
    i = ConsDef.SUCCEED;
    }catch(IOException e){
    System.out.println("++++++++++++++++++++++++++++++++++++++++++");
    e.printStackTrace();
    i = ConsDef.SOCK_ERROR;
    }
    return i;
    }
      

  2.   

    在发送大数据量时,由于网络的状况或防火墙的原因,可能包有些部分丢失,造成了服务其端一直接收数据,这时你却关闭了socket.
      

  3.   

    public int DSMPCLNTDLL_DisconnectDoonesms()
    {
    int ret = 0;

    if(cnt == null)
    {
    return ConsDef.DsmpCnt_No_Create;
    }
    try{
    sPackDisConnect disc = new sPackDisConnect();
    ret = cnt.sendData(disc.transact());
    }catch(IOException e){
    }
    ret = cnt.closeSSLSocket();

    return ret;
    }
    socket关闭处理流程为:客户端发送关闭请求数据包给服务端,关闭服务端SOCKET然后再关闭客户端SOCKET!