这是一个有UI界面的服务器,做很简单的事,用一个ServerSocket来等待其他人的连接。两个类 一个是UI(使用SWT) 一个myServerUI里用这句话来产生myServer的一个新线程myServer server = new myServer();
display.asyncExec(server);而myServer里是这么写的public class myServer implements Runnable {
public ServerSocket sSocket;public void run() {
try {
sSocket = new ServerSocket(1234);
while (true) {
myServerUI.SetUIText("Listening...");
Socket s = sSocket.accept();
}
} catch (Exception ex) {
System.out.println("Something happens ... ");
System.out.println(ex.getMessage());
}
}
}
运行的时候出现UI出现了"Listening..."后没有响应,好像是被卡在Socket s = sSocket.accept(); 但按理说accept是阻塞模式,不应该会使程序挂起;而且UI中也使用了asyncExec来保证。请问有何解决方案呢?