使用Java ServerSocket发送数据包

时间:2018-08-22 17:29:28

标签: java multithreading sockets server client

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

我正在使用ObjectOutputStream发送对象,并且正在循环浏览已连接客户端的列表。 我的问题现在是:如果我需要对这些发送进行线程处理,或者我可以保留我的循环访问客户端列表的系统,而仅使用write()方法,或者该方法是否具有回调,那么互联网连接速度会变慢或发送问题被卡住或循环变慢了吗?

arr

并且客户端的send方法包含:

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

1 个答案:

答案 0 :(得分:0)

您似乎在询问轮询与每个连接的线程。两者都是合法的方法。每个连接线程的方法需要花费更多的精力来实现,但是如果您的网络连接很慢,它将可以更好地扩展。但是,刚开始时不太可能。您以后可以随时进行重构。