0
我正在使用Java Socket编程。当我第一次点击按钮时,Socket完美运行。但按钮和其他功能不再工作。当我点击它们时,所有人都被禁用或不反应。如何在Java中的socket中停止while(true)
这是主类
JButton btnRemote = new JButton("Remote ");
btnRemote.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ServerInitiator ser=new ServerInitiator();
ser.initialize(4444);
}
});
Socket类
public static void main(String args[]){
String port = JOptionPane.showInputDialog("Please enter listening port");
new ServerInitiator().initialize(5555);
}
public void initialize(int port){
try {
ServerSocket sc = new ServerSocket(port);
//Show Server GUI
drawGUI();
// drawGUI();
//Listen to server port and accept clients connections
while(true){
Socket client = sc.accept();
System.out.println("New client Connected to the server");
//Per each client create a ClientHandler
new ClientHandler(client,desktop);
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
初始化应该在一个单独的线程来完成。 – Taylor
在上面的上下文中是什么'ClientHandler'?你能分享一下吗? –
你的意思是哪个“按钮其他功能”?它看起来像按钮有一个单一的功能,产生一个'ServerInitiator'。 –