Java sockets - 如何模拟多个客户端

Java sockets - How to simulate multiple clients

我有一个用Java编写的套接字程序。

服务器使用 DatagramSocket 创建具有特定端口号的套接字。我有一个客户端 java 程序,它连接到该服务器并发送一些消息。

目前我有 3 台笔记本电脑,所以我使用 1 台 运行 服务器,其余 2 台作为客户端。如何模拟 100 个客户端?

我正在考虑围绕客户端编写一个包装器并调用它们 100 次,但问题是这些模拟客户端的 IP 地址 NOT 是唯一的。任何指导表示赞赏。

我会说使用 JMeter http://jmeter.apache.org/

TCP采样器: http://jmeter.apache.org/usermanual/component_reference.html#TCP_Sampler

您可以直接调用Java:http://jmeter.apache.org/usermanual/component_reference.html#Java_Request

the problem is with the ip-address for those simulated clients NOT being unique

不,问题是您只是通过 IP 地址识别 客户端。您应该使用 IP:port,例如,通过 DatagramSocket.getRemoteSocketAddress().

然后您可以在单个主机上通过 运行 100 个客户端程序实例进行测试。