gpt4 book ai didi

java - 多客户端服务器 - Java

转载 作者:行者123 更新时间:2023-11-29 03:22:08 25 4
gpt4 key购买 nike

我准备了一个程序作为客户端,另一个程序作为服务器。

我希望能够向服务器发送消息,然后服务器会将消息转发给也连接到服务器的另一个客户端。

因此服务器应该将消息转发给其他客户端。

我怎样才能做到这一点,我需要阅读哪些内容?

这就是我现在得到的。

服务器.java

package server;

import java.net.*;
import java.io.*;

import javax.swing.*;

public class Server{

public static void run() {
ServerSocket serverSocket = null;
Socket socket = null;
try{
while(true){
serverSocket = new ServerSocket(5555);
socket = serverSocket.accept();
InputStreamReader streamReader = new InputStreamReader(socket.getInputStream());
BufferedReader bufferedReader = new BufferedReader(streamReader);
String message = bufferedReader.readLine();
System.out.println(message);
if(message != null){
PrintStream printStream = new PrintStream(socket.getOutputStream());
printStream.println("Message receivd!");
}
streamReader.close();
socket.close();
serverSocket.close();
bufferedReader.close();
}
}catch(Exception e){}
// try{
//
// }catch(Exception e){}
}
public static void main(String[]args){
Server s = new Server();
s.run();
}

然后我也得到了TCPClient.java

package client;

import java.net.*;
import java.io.*;

public class TCPClient {
private String serverIP = "localhost";
private int serverPort = 1111;
private int count = 0;
private Thread thread;

public TCPClient() {
this.thread = new Thread(new ConnectAndListenToServer());
// thread.start();
}
public void sendMessage(int count){
this.count = count;
this.thread = new Thread(new ConnectAndListenToServer());
thread.start();
}
private class ConnectAndListenToServer implements Runnable {
Socket socket = null;
public void run() {
BufferedReader bufferedReader = null;
InputStreamReader streamReader = null;
try {
socket = new Socket(serverIP,serverPort);
PrintStream printStream = new PrintStream(socket.getOutputStream());
printStream.println(count);
streamReader = new InputStreamReader(socket.getInputStream());
bufferedReader = new BufferedReader(streamReader);
String message = bufferedReader.readLine();
if(message != null){
System.out.println(message);
}

}catch(Exception e){}
try{
socket.close();
bufferedReader.close();
streamReader.close();
}catch(Exception ee){}
}
}

我怎样才能将服务器上已收到的消息转发给另一个客户端?

Example

最佳答案

How would i be able to forward the messeage already received on the server to another client?

我已经在相同的上下文中发布了一些示例。

到目前为止你已经做得很好了,要完成它请看看 Client-Server Communication 。我已经一步一步地描述了它,只需按照线程查找其他示例即可。

如果您还有任何问题,请告诉我!

关于java - 多客户端服务器 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23000708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com