把服务器端写在了swing上,ServerSocket ss=new ServerSocket(8888)写在了一个线程里面,当第一次点击启动服务器时,提示已经连上,可是客户端确连不上来,再点击一次启动服务器,窗体卡死,但是客户端可以连接上来,为什么会是这样,怎么解决窗体卡死的问题??
start=new JMenuItem("启动服务器");
     JMenuItem exit=new JMenuItem("退出");
     menu.add(start);
     menu.add(exit);
    
    
     //start添加事件
     start.addActionListener(new ActionListener(){ @Override
public void actionPerformed(ActionEvent e) {
            //  while(true){
start_service ss=new start_service();
Thread starts=new Thread(ss);
starts.start();
 socketConn();
              // }
              
}
     });  public void socketConn(){
    
     try {
while(service){
     s=ss.accept();
     System.out.println("客户端连接成功");
     Client c=new Client(s);
     clients.add(c);
new Thread(c).start();
int count=clients.size();
//在线人数在标签显示出来
    String str=new Integer(count).toString();
label_count.setText(str);
}
} catch (IOException e) {
e.printStackTrace();
}
    
    
    }//服务器启动线程
  private class start_service implements Runnable{ @Override
public void run() {   try {
 System.out.println("线程启动");

ss=new ServerSocket(8888);
service=true;
  
//JOptionPane.showMessageDialog(ChatServer.this,"服务器启动成功");
  
   
} catch (IOException e) {
      JOptionPane.showMessageDialog(ChatServer.this,"服务器已经连上");
      System.exit(0);
}

}