我正在制作一个简单的聊天服务器,并且只是为了让每个连接都在新线程上运行。无法获得服务器套接字关闭
旧版本为服务器启动了一个单线程,它做了一个while循环,当发送停止消息然后关闭套接字时,它将停止。
新版本永远循环并为每个新连接创建一个新线程。现在我无法关闭套接字连接。
如果按下某个键并停止主线程,则该插口保持打开状态。因此,当我再次运行程序时,我需要更改套接字号。服务器的
代码
while(true)
{
///////////////////////////////////////////////////
// get a new connection
///////////////////////////////////////////////////
System.out.println("Aceepting connections on port 1030 \r");
try{
// Get New Connection
// wait for ever on accepting new connections
server.setSoTimeout(0);
connection=server.accept();
cConnection thread = new cConnection("thread3", connection);
} catch(IOException ec)
{
System.out.println(ec.getMessage());
}
}
代码启动服务器
现在每个邮件进入一个新的线程,所以我不能告诉它停止并关闭套接字。