解决方案 »

  1.   

    没人来指点一下吗?做公交的路上来了点灵感,感觉应将创建socket放到单例类里面去创建,改动后代码://系统初始化类
     public class Initialize{      public void  init(){
               //Socket socket=new Socket(ipAddress,port);//此处放到单例类里去创建
                SocketSingleIntance ssi=SocketSingleIntance.getSingleIntance();            //ssi.setSocket(socket);
          }
    }
      //单例类:
    public class SocketSingleIntance {
         private Socket socket;
         private static SocketSingleIntance  socketSingleIntance ;
         private SocketSingleIntance (){
                 this.socket=new Socket(ipAddress,port);//创建socket连接
         }
         public static SocketSingleIntance  getSingleIntance(){
                  if(null==socketSingleIntance ){
                       socketSingleIntance =new SocketSingleIntance ();
                   }
              return  socketSingleIntance ;
         }
             //对外提供访问
         public Socket getSocket(){
                return this.socket;
         }
    }//系统其他方法访问
    public class Test{
           SocketSingleIntance  ssi=SocketSingleIntance.getSingleIntance();
           Socket socket=ssi.getSocket();//取出创建的socket对象 
           InputStream is=socket.getInputStream();//获取服务端数据
        
    }大家给点意见吧!!!
      

  2.   

    会有并发问题,当多个人读写这个socket的时候...
      

  3.   

    我建议这个socket用阻塞队列来实现,用之前先take()   用完再放回去。