使用联通SGIP协议服务器端接收客户端程序,客户端发送1000条信息,服务器端接收400多条信息后,在客户端提示拒绝SOCKET连接。
下面是服务器端程序,请大家帮忙看看import sgip.*;
import java.net.*;
import java.io.*;public class recv {
    public int i = 0;
        public static void main(String[] args) {
                recv atestprocesse = new recv();
        }        public recv() {
                ServerSocket serversocket = null;
                Socket so = null;
                OutputStream output = null;
                InputStream input = null;
                SGIP command = null;                try {
                        serversocket = new ServerSocket(8999);
                        so = serversocket.accept();
                        input = so.getInputStream();
                        output = so.getOutputStream();
                        command = new SGIP();
                        SGIP tmpCMD = null;
                        Deliver deliver = null;
                        DeliverResp deliverresp = null;                        Report report = null;
                        ReportResp reportresp = null;
                        Userrpt userrpt = null;
                        UserrptResp userrptresp = null;                        OrderResp orderresp = null;
                        Order order = null;                        CONTENT_CHECK check = null;
                        CONTENT_CHECK_RESP checkres = null;                        Bind active = null;
                        Unbind term = null;
                        BindResp resp = null;
                        UnbindResp Unresp = null;
                        boolean loop = true;                        while (loop) {
                                tmpCMD = command.read(input);//接收sgip消息
                                switch (command.getCommandID()) {
                                case SGIP.ID_SGIP_BIND: {
                                        System.out.println("SGIP.ID_SGIP_BIND";
                                        active = (Bind) tmpCMD;//强制转换
                                        int result = active.readbody();//解包
                                                                                
                                        resp = new BindResp(0,//node id 3+CP_id
                                                        0);
                                        resp.SetResult(0);
                                        int a = resp.write_seq(output, tmpCMD.getSeqno_1(), tmpCMD
                                                        .getSeqno_2(), tmpCMD.getSeqno_3());
                                        //int a = resp.write(output);
                                        break;
                                }
                                case SGIP.ORDER: {
                                        System.out.println("SGIP.ORDER";
                                        order = (Order) tmpCMD;//强制转换
                                        int result = order.readbody(); //解包
                                        i = i + 1;
                                        
                                        orderresp = new OrderResp(0, 1);
                                        orderresp.SetResult(1);
                                        orderresp.write_seq(output, tmpCMD.getSeqno_1(), tmpCMD
                                                        .getSeqno_2(), tmpCMD.getSeqno_3());
                                        break;
                                }                                
                                }
                        }
                        output.close();
                        input.close();
                        so.close();
                        serversocket.close();
                } catch (Exception e) {
                        System.out.println("ee" + e.toString());
                } finally {
                        try {
                                System.in.read();
                                //it just for debug
                        } catch (Exception s) {
                                System.out.println("eee" + s.toString());
                        }
                }        }}