【发布时间】:2013-11-02 16:08:05
【问题描述】:
我正在开发一个小型 Java 聊天应用程序,它可以在小型局域网上可靠地运行。
我的机器(笔记本电脑)中安装了 Windows 7。
我开发了一个服务器和一个客户端来代表(聊天信使)
如果服务器运行,那么任何客户端都可以运行并与服务器通信。
在运行服务器的机器上,也可以在同一台机器上运行一个客户端(client_1)与服务器通信。
如果我想运行第二个客户端(client_2)通过服务器与 client_1 通信。然后我必须在另一台机器上运行它(client_2)。
是否可以模拟两台机器或两个真实客户端在使用同一台机器时与服务器通信?
附录:
我只在开发阶段需要这个。我只是希望能够在同一台机器上进行开发和测试。但最终产品将按预期运行,即每个客户端将在单台机器上运行。不是编程逻辑问题。
【问题讨论】:
-
将消息从 client_1 中继到 client_2。或者更一般地说,如果您计划让多个客户端(大概是您这样做)将每个客户端消息中继到 所有 客户端(包括发件人)。为此,您需要维护
Collection的客户端。 -
多个客户端可以从一台计算机使用不同的端口连接到服务器,这就是多个浏览器选项卡的工作方式,您所要做的就是为不同的客户端分配不同的端口号。在我的一个项目中,我遇到了同样的问题,首先我在我的计算机上为客户端套接字搜索可用的空闲端口,然后在创建套接字实例时将该端口分配给客户端。它应该可以工作。
标签: java multithreading windows-7