我正在创建一个聊天服务器,但我无法建立多个连接,我相信这是因为只有一个套接字。我读过一个线程一次能够处理多个套接字连接,但每个客户端都必须有自己的套接字。像墙上的插座。每个插头必须有 1 个插座。如何为每个客户端创建一个套接字以用于与服务器通信?我将提供一些代码来帮助你们建立你的帮助。这是接受单个套接字(连接)的地方。
private void waitForConnection() throws IOException
{
connection = server.accept();
showMessage("\nNow connected to " + connection.getInetAddress().toString());
clientCount += 1;
}
这是在服务器启动时调用代码的地方:
public void startRunning()
{
try
{
server = new ServerSocket(1337, 10);
while(true)
{
try
{
showMessage("Waiting For a Player To Connect...");
waitForConnection();
setupStreams();
whileChatting();
}
catch(EOFException eofException)
{
showMessage("\n Server ended the connection! ");
}
finally
{
closeConnections();
}
}
}
catch(IOException ioException)
{
ioException.printStackTrace();
}
}
现在,此代码对于第一个连接的客户端非常有效。所有其他人根本无法连接。提前感谢所有提交答案的人。