有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用不同端口的java UDP读/写

是否可以使用同一个DatagramSocket对象使用两个不同的端口进行读写?我需要在端口X上接收并在端口X+1上写入。目前我正在做的是:

sock = new DatagramSocket(5000);

byte[] buffer = new byte[DataAdapterFB1.HEADER_SIZE + DataAdapterFB1.MAX_DATA_BYTES];
DatagramPacket incoming = new DatagramPacket(buffer, buffer.length);
sock.receive(incoming);

后来:

dp = new DatagramPacket(send.getBytes(), send.getBytes().length, DataAdapterFB1.ccuAddr, 5001);
sock.send(dp);

我没有看到wireshark上发送数据包的任何输出

我也尝试过:

sock = new DatagramSocket();

byte[] buffer = new byte[DataAdapterFB1.HEADER_SIZE + DataAdapterFB1.MAX_DATA_BYTES];
DatagramPacket incoming = new DatagramPacket(buffer, buffer.length,DataAdapterFB1.localhost, 5000);
sock.receive(incoming);

dp = new DatagramPacket(send.getBytes(), send.getBytes().length, DataAdapterFB1.Addr, 5001);
sock.send(dp);

但它似乎不起作用。我能够使用2个datagramsocket对象让它工作。(读一个绑定声明上的端口,写一个不绑定)。但我想知道我能不能用一个


共 (0) 个答案