【问题标题】:Can a client send a message to more than one server concurrently?客户端可以同时向多个服务器发送消息吗?
【发布时间】:2013-10-17 03:40:24
【问题描述】:

我知道我们可以使用多线程来确保服务器可以接受来自多个客户端的连接。此代码可帮助许多客户端连接到服务器。

s = new ServerSocket(1500);

while(true)
{
    Socket socket = s.accept();
    new ClientThread1(socket).start();
}

但是,客户端可以以相同的方式连接到多个服务器吗?任何帮助将不胜感激。

【问题讨论】:

  • 是的。基本上你需要颠倒这个想法,在客户端上有多个线程,每个线程管理到不同服务器或端口的连接......

标签: java multithreading sockets


【解决方案1】:

您可以为要连接的每个服务器派生一个新的 Thread(),并让每个 Thread 连接到不同的服务器。

就每个线程而言,它只会正常连接到一台服务器。你只需要使用一些全局变量或其他东西来确保每个线程都知道它应该连接到哪个服务器。

【讨论】:

    【解决方案2】:

    我可以这样做,因为连接是客户端(IP:端口)和服务器(IP:端口)的元组。如果同时完成并且每个元组保持唯一,则应该是可能的

    【讨论】:

      猜你喜欢
      • 2019-04-04
      • 2015-11-01
      • 2015-01-05
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多