【发布时间】:2017-11-15 09:17:10
【问题描述】:
大家。 希望你能帮我解决这个问题: 我有两个线程,负责处理来自客户端的连接。
这是我的代码
ServerSocket loginSocket = new ServerSocket(8000);
ServerSocket fileSocket = new ServerSocket(7000);
while (running) {
new LoginThread(loginSocket.accept(),loginInormation).start();
new LoaderThread(fileSocket.accept()).start();
}
当我尝试连接到loginSocket两次时,服务器会阻塞并停止工作,阻塞客户端,但是如果我删除它就不会发生这种情况:
new LoginThread(loginSocket.accept(),loginInormation).start();
我没有收到任何错误消息,那么为什么会发生这种情况,我该如何解决这个问题?
【问题讨论】:
-
loginSocket.accept()可能正在等待连接? -
我调查了这个:stackoverflow.com/questions/10131377/…,我看不出你哪里错了。我认为我们需要更多代码。例如,
LoginThread和LoaderThread中的内容。另外,你确定你没有默默地捕捉异常吗?
标签: java multithreading network-programming