gpt4 book ai didi

Java Socket - 如何在 3 点之间发送和接收信息?

转载 作者:可可西里 更新时间:2023-11-01 02:41:36 26 4
gpt4 key购买 nike

在我的应用程序中,多台 PC 将连接到服务器。服务器将接收消息然后发送到系统。系统可能会向服务器发回一条消息,而这条消息应该由服务器发送给PC。基本上是这样的:

PC 0 ------------------> 服务器 ----> 向系统发送 PC 消息。
系统 ------> 发送消息到 PC 0 服务器 ----> PC 0

与 PC 1、2、3 等相同...

但是我该怎么做呢?我已经可以将 PC 消息发送到服务器和服务器发送到系统,如下所示:

这是从 ServerThread 运行的:

try {

Socket socket = serverSocket.accept();

if (socket != null) {

clientList.add(new ClientThread(socket));
}

} catch (IOException ex) {

System.out.println(DEBUG
+ ": Failed creating client socket / "
+ ex.getMessage());
}

但是我怎么知道传入的套接字是要向服务器发送消息还是套接字应该向 PC 发送消息?

最佳答案

您基本上是在实现即时消息传递,您的系统只是另一个端点(连同 PC0 ...)。为什么不使用像 XMPP 这样的东西呢?如果您的服务器只是用作消息路由器。

您可以使用 Smack用于客户端解决方案和任何现成的 XMPP服务器将轻松满足您的需求。如果您需要自定义服务器,您可以选择一种基于 Java 的服务器,例如 Openfire .

关于Java Socket - 如何在 3 点之间发送和接收信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211207/

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