这就是问题所在,这很简单(理解..):
我家里有两台电脑,它们都有相同的公共 IP 地址(例如 1.2.3.4)。
我在咖啡店有一台电脑(不同的网络),所以它有不同的公共 IP 地址。
我想从咖啡店的计算机向我家中的一台计算机发送一条消息(例如“hi”)。
我正在使用 Java,为发送者考虑以下非常简单的程序(为简单起见,我取消了异常处理):
我主要做:
sendPacket("hi");
我有
void sendPacket(String message){
DatagramSocket myServerSocket = new DatagramSocket(9000); // server socket
byte[] sendData = new byte[message.length()]; // build msg
sendData = message.getBytes();
InetSocketAddress destSocketAddr = new InetSocketAddress("1.2.3.4", 9000); // destination socket addr
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, destSocketAddr); // make packet
myServerSocket.send(sendPacket); // send packet
}
如果我的侦听器(接收器)在家中的两台计算机上运行(都具有相同的公共 IP 地址 1.2.3.4),我如何指定我打算将此消息发送到哪一台?