需要在在2个不同端口上运行的Java serversocket和套接字(客户端)之间连接



我正在尝试使用Java套接字在2个不同的机器之间连接。服务器上的TCP端口和客户端插座不同,如下所示,

ServerSocket sourceSocket = new ServerSocket(8080, 10, InetAddress.getByName("192.168.1.2"));

在同一台计算机上,我还运行客户端套接字

destSocket = new Socket(InetAddress.getByName("192.168.1.3"), 49984);

是否可以在端口8080和49984离子之间发送/接收数据包/数据。这需要nat吗?

相同机器上的两个端口之间发送数据包不需要任何类型的NAT或实际上任何网络 - 您不必连接到互联网。通过在同一台计算机上打开两个插座,在不同端口上,您可以在这两个插座之间发送数据,而无需其他配置。

为了发送到不同的机器(将其调用机器#2)从计算机#1发送,您必须在机器#2上打开一个插座(通过在另一台计算机上运行代码)准备从机器#1上的插座接受传入的数据。此外,客户端套接字必须将数据发送到正确的IP和端口 - 因此,当您使用new Socket打开端口时,您将定义套接字的 address ,但不能在哪里发送数据。<<<<<<<<<<<<<<<<<<<</p>

因此,虽然这些命令或多或少正确,但必须在机器#1上运行一个,然后在机器#2上运行一个,以便在两者之间发送数据。您还必须确保客户端将数据发送到服务器的地址,而不是本身 - 打开一个端口dik 不是定义数据将在何处发送,仅来自

最新更新