我的程序偵聽只是一個連接一次...程序只是被卡在ClientSocket的=的ServerSocket.accept()如果沒有客戶端連接。我的意思是我甚至無法通過關閉窗戶來打斷它。我無法點擊任何按鈕,我在我用這個代碼在我的其他程序以同樣的方式在框架等計劃去反應遲鈍的ServerSocket.accept處 - Java的
,但它工作得很好(我可以點擊他們的文本框和按鈕之類的東西和類型的值,對於這個,它只是在那裏凍結,直到客戶端連接,甚至不能退出)。
public void runServer() {
try {
serverSocket = new ServerSocket(PORT_NUMBER, 20);
clientSocket = serverSocket.accept();
taDisplay.append("Client connected!");
lblPlayingTo.setText("Playing to: " + objective);
socketIn = new DataInputStream(clientSocket.getInputStream());
socketOut = new DataOutputStream(clientSocket.getOutputStream());
socketOut.writeUTF(serverName);
clientName = socketIn.readUTF();
lblEastScore.setText(clientName + ": " + eastScore.getScore());
} catch (IOException e) {
System.out.println(e);
taDisplay.append("Could not listen on port: " + PORT_NUMBER + ".\n");
}
}
我已經打消了我所有的代碼除本(下同),但我仍然得到同樣的「凍結」的問題
setTitle(title);
setSize(sizeW, sizeH);
setVisible(visibility);
setResizable(resizability);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addKeyListener(new MyKeyAdapter());
addMouseListener(new MyMouseAdapter());
//Container
c = getContentPane();
c.setLayout(new BorderLayout());
你的代碼在哪裏調用「runServer」? – Ash 2010-01-31 04:55:37