使用 Java ServerSocket 发送数据包



嘿,我正在用java创建一个多人游戏主题游戏。 我已经对服务器输入进行了多线程处理,现在我正在做服务器发送东西。

我正在使用 ObjectOutputStream 来发送对象,并且我正在循环访问连接的客户端列表。 我现在的问题是:如果我需要线程化这些发送,或者我可以让我的循环系统通过客户端列表并只使用 write(( 方法,或者这种方法是否有回调,所以较慢的互联网连接或发送问题卡住或减慢循环?

public void sendPacketToAllClients(JSONObject object) {
for(Client c:clients) {
c.sendPacket(object);
}
}

客户端的发送方法包含:

oOs.writeObject(object);

您似乎在询问每个连接的轮询与线程。两者都是合法的做法。实现每个连接线程的方法需要更多努力,但如果网络连接速度较慢,它将更好地扩展。但是,这在您开始时不太可能。以后始终可以重构。

最新更新