Java DatagramSocket发送到两个不同的客户端
我尝试通过Java DatagramSocket向两个不同的客户端发送消息 这是我的发送功能:Java DatagramSocket发送到两个不同的客户端,java,sockets,Java,Sockets,我尝试通过Java DatagramSocket向两个不同的客户端发送消息 这是我的发送功能: public void sendData(String msg, UserData data) { byte[] bA; bA = msg.getBytes(); DatagramPacket pck; try { pck = new DatagramPacket(bA, bA.length, InetAddress.getByName(data.ge
public void sendData(String msg, UserData data) {
byte[] bA;
bA = msg.getBytes();
DatagramPacket pck;
try {
pck = new DatagramPacket(bA, bA.length, InetAddress.getByName(data.getConnectionInfo().getString("privateAddress")), data.getConnectionInfo().getInt("privatePort"));
ds.send(pck);
} catch (Exception e) {
e.printStackTrace();
}
}
因此,我使用不同的主机和端口连续调用此函数两次。
但只有一个客户得到了信息。当我在这个函数的两个调用之间插入Thread.sleep(1000)时,一切正常。那么,为什么不可能在不等待的情况下连续向两个客户端发送两条消息呢
谢谢你的帮助
编辑:
对不起
ds是DatagramSocket。它是全局性的,在一开始就创建了。
地址和端口是正确的,否则它也不能与Thread.sleep-inside一起工作
DatagramSocket ds=新的DatagramSocket(6312) 向我们展示整个代码。什么是
ds
?尝试在不等待的情况下发送两条大消息。消息可能接近8000字节。