使用java socket怎么能够实现将一个客户端发送到服务端的消息转发到另一个客户端?

使用java socket怎么能够实现将一个客户端发送到服务端的消息转发到另一个客户端?,第1张

public class TCPlient {
public static void main(String[] args) {
String str = null;
Socket clientSocket; // 创建客户端套接
DataInputStream in = null; // 创建DataInputStream对象
DataOutputStream out = null; // 创建DataOutputStream对象
try {
clientSocket = new Socket("127001", 4331); // 实例化Socket对象
//clientSocket = new Socket("192168152139", 6379);
in = new DataInputStream(clientSocketgetInputStream()); // 实例化DataInputStream对象
// 实例化DataOutputStream对象
out = new DataOutputStream(clientSocketgetOutputStream());
outwriteUTF("你好!!"); // 写数据
while (true) {
str = inreadUTF(); // 读取流中数据
outwriteUTF(((int) (Mathrandom() 10) + 1) + ""); // 向流中写入0到10之间的随机数
Systemoutprintln("客户端收到:" + str); // 输出信息
Threadsleep(1000); // 线程休眠
}
} catch (Exception e) {
eprintStackTrace();
}
}
}
public class TCPServer {
public static void main(String[] args) {
ServerSocket serverSocket = null; // 创建服务器端套接字
Socket clientSocket = null; // 创建客户端套接字
String str = null;
DataOutputStream out = null; // 创建DataOutputStream类对象
DataInputStream in = null; // 创建DataInputStream类对象
try {
serverSocket = new ServerSocket(4331); // 实例化ServerSocket对象
clientSocket = serverSocketaccept(); // 接收客户的套接字连接呼叫
in = new DataInputStream(clientSocketgetInputStream()); // 实例化DataInputStream对象
out = new DataOutputStream(clientSocketgetOutputStream()); // 实例化DataOutputStream对象
while (true) {
str = inreadUTF(); // 读取客户放入连接中的信息
outwriteUTF("hello,我是服务器"); // 通过输出流向线路中写信息
outwriteUTF(str);
Systemoutprintln("服务器收到:" + str);
Threadsleep(1000); // 线程休眠
}
} catch (Exception e) {
eprintStackTrace();
}
}
}
//要发到另一个client,就让server转发消息就行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10905756.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存