Java 应用程序测试(多个IP)

Java 应用程序测试(多个IP),java,networking,udp,ip,p2p,Java,Networking,Udp,Ip,P2p,我一直在开发一个P2P应用程序,现在我必须测试它。问题是,我不知道如何在一台计算机上测试应用程序的多个实例。 这个应用程序是用Java编写的,我正在OSX上运行它。我当然得到了一个关于地址使用的错误 测试只需显示数据包在网络中的不同对等方之间传输。如果是P2P,那么最好的测试当然是在多台机器上进行。您可以在您的计算机上设置一个虚拟环境,并使用几个虚拟机对其进行测试。我不知道如何在OSX上做到这一点,但我认为你可以 问题是,我不知道如何测试倍数 一台计算机上的应用程序实例 您应该能够启动应用程序的

我一直在开发一个P2P应用程序,现在我必须测试它。问题是,我不知道如何在一台计算机上测试应用程序的多个实例。 这个应用程序是用Java编写的,我正在OSX上运行它。我当然得到了一个关于地址使用的错误


测试只需显示数据包在网络中的不同对等方之间传输。

如果是P2P,那么最好的测试当然是在多台机器上进行。您可以在您的计算机上设置一个虚拟环境,并使用几个虚拟机对其进行测试。我不知道如何在OSX上做到这一点,但我认为你可以

问题是,我不知道如何测试倍数 一台计算机上的应用程序实例

您应该能够启动应用程序的两个实例,并对它们进行不同的配置。如果您无法做到这一点,那么将两台计算机连接在一起,并以这种方式进行测试

测试只需显示数据包在两个服务器之间传输 网络中的不同对等点


您将验证发送的数据包是否正确,对吗?

您应该为不同的对等方使用不同的端口号。

如果您只需要在位于同一台pc中的两个对等方之间交换数据,那么使用不同的端口就足够了。但是,如果您的对等方支持多个ip地址,您也可以尝试为它们分配一个不同的ip地址

请记住,安装在PC上的防火墙有时会悄悄地杀死数据包(我在Windows下看到了这一点),特别是当您使用多播或回送地址时


最后,如果您在PC上成功地测试了应用程序,那么它在多个对等机上部署时可能无法正常工作,因为网络管道是复杂而棘手的。对等方共享相同IP地址的系统通常不像对等方各自拥有自己IP地址的系统。

他应该能够使用VirtualBox设置虚拟机。因为他运行的是OSX,所以他可以毫无问题地创建OSX客户机,我将尝试以不同的方式配置它们。是的,我确实要验证发送的数据包是否正确。+1,我认为这是正确的答案。假设多个实例可以在一台机器上运行而不会相互干扰,我想简单地使用不同的端口号就可以了。这是从CLI运行还是在应用程序服务器内运行?OP,你能澄清一下吗?服务器必须监听传入的连接,一旦有连接到来,我们就为新的对等方创建一个套接字。在创建该套接字时,我们应该创建一个新线程,等待来自该特定对等方的传入包。这回答了你的问题吗?对不起,我以为你说的CLI是指客户端。如果您指的是CLI(命令行界面),那么我必须说我只使用了EclipseIDE。我想你也可以用几个Telnet测试一个简单的应用程序。是的,CLI=命令行界面。如果从Eclipse启动,这很好,但我可以想象,它只是在一个新的telnet会话中运行Java运行时环境。如果您可以在(例如)localhost:10000、localhost:10001、localhost:10002上启动实例,那么您应该可以。