如何在udp

问题描述

我不太确定如何从客户端获取消息并将其从服务器发送到另一个客户端。我曾尝试将SocketAdresses保存在哈希集中,以将消息发送给其他客户端,但我不知道该怎么做。任何帮助都是真的。

服务器:

private static int port = 9001;

private static HashSet<SocketAddress> clients = new HashSet<SocketAddress>();

private static int usersOnline = 0;

public static void main(String[] args) throws Exception {

    DatagramSocket UDPSocket = new DatagramSocket(9002);
    System.out.println("[SERVER] UDP Server successfully launched on port: " + port);

    byte[] data = new byte[1000];
    DatagramPacket receivePacket = new DatagramPacket(data,data.length);

    boolean group = false;
    while (true) {
        UDPSocket.receive(receivePacket);
        usersOnline++;
        //Each time we add a packet we add it for each seperate client 
        clients.add(receivePacket.getSocketAddress());
        
        
       
    }

    
}

客户端:

public static void main(String[] args) throws UnkNownHostException,IOException {
    new Client();
}

public Client() throws UnkNownHostException,IOException {


    Scanner scanner = new Scanner(system.in);
    
    DatagramSocket UDPSocket = new DatagramSocket();
    
    while(scanner.hasNextLine()) {
        String message = scanner.nextLine();
        InetAddress ip = InetAddress.getByName("127.0.0.1");
                
        DatagramPacket packet = new DatagramPacket(message.getBytes(),message.getBytes().length,ip,9002);
        UDPSocket.send(packet);
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)