【发布时间】:2015-12-05 15:17:18
【问题描述】:
我在一个服务器和两个客户端之间实现了多线程连接,但是当我启动我的程序时,服务器启动了一个无限循环。这是一个问题,因为我的服务器还实现了一个无法运行的图形界面,因为它被这个循环阻塞了。我想补救,选择不同的条件来停止我的周期,而不是使用while(true)cycle。
这是我的循环代码:
public Socket attendi(){
try {
System.out.println("inizializzo il server");
ss = new ServerSocket(PORT);
while(true){
System.out.println("server pronto in ascolto");
s = ss.accept(); //s is a global Socket object
ThreadServer newConnection = new ThreadServer();
newConnection.connect(s);
System.out.println("connessione stabilita");
}
} catch (IOException ex) {
Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
}
return s;
}
您能否推荐一个在没有更多客户端尝试连接到服务器时停止循环的良好条件?
【问题讨论】:
标签: java multithreading sockets loops