在线Java聊天实际上不允许两个用户同时在线
我正在做一个在线java聊天,我正在测试它,当我在我的另一台计算机上使用它时,它无法与这台计算机同时工作,或者在另一台计算机上显示另一台计算机上的JTextBox es,下面是我用来将服务器与客户端通信的代码在线Java聊天实际上不允许两个用户同时在线,java,Java,我正在做一个在线java聊天,我正在测试它,当我在我的另一台计算机上使用它时,它无法与这台计算机同时工作,或者在另一台计算机上显示另一台计算机上的JTextBox es,下面是我用来将服务器与客户端通信的代码 Socket kkSocket = null; PrintWriter out = null; BufferedReader in = null; try { kkSocket = new Socket("dargon.ddns.net"
Socket kkSocket = null;
PrintWriter out = null;
BufferedReader in = null;
try {
kkSocket = new Socket("dargon.ddns.net", 7598);
out = new PrintWriter(kkSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(kkSocket.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("not work :/");
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for the connection");
System.exit(1);
}
这是服务器代码
public class Online {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(7598);
System.out.print("Online!");
} catch (IOException e) {
System.err.println("Could not listen on port: 7598.");
System.exit(1);
}
Socket clientSocket = null;
try {
clientSocket = serverSocket.accept();
System.out.print("Online!");
} catch (IOException e) {
System.err.println("Accept failed.");
System.exit(1);
}
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(
clientSocket.getInputStream()));
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
}您的代码可能重复,但实际上没有任何作用。你怎么知道它不起作用了?您的服务器也只支持一个连接,因为您只调用了一次
accept()
。这不是完整的代码,这是套接字位的片段,如果您想要完整的代码,我可以提供,我在哪里调用accept()?@Kayaman我添加了一个额外的客户端套接字侦听器,现在它根本不工作。是否添加额外的服务器侦听器?