正在做一个小程序,通过UDP创建了服务端与客户的连接通信,目前能实现单端口与服务端的对话,但我想在服务端设计一个用户发到服务端的信息都可以发送到每一个连接的用户。请高手指点一下,想了很就都不知如何解决。 附上服务端的代码:
public void run() {
byte[] buffer = new byte[8192];
while(true) {
DatagramPacket incomming = new DatagramPacket(buffer,buffer.length);
try {
dsocket.receive(incomming);
DatagramPacket outgoing = new DatagramPacket(
incomming.getData(),incomming.getLength(),
incomming.getAddress(),incomming.getPort());
dsocket.send(outgoing);
}catch(IOException e) {}
}
}
public void run() {
byte[] buffer = new byte[8192];
while(true) {
DatagramPacket incomming = new DatagramPacket(buffer,buffer.length);
try {
dsocket.receive(incomming);
DatagramPacket outgoing = new DatagramPacket(
incomming.getData(),incomming.getLength(),
incomming.getAddress(),incomming.getPort());
dsocket.send(outgoing);
}catch(IOException e) {}
}
}
在dsocket.receive(incomming);语句后面利用client保存该incomming的ip和port;
然后遍历client,转发到其余的ip和port。