Sen (muhtemelen kullandığınız) IPv4 üzerinde broadcasting
yayın için adres 255.255.255.255 olduğu UDP benzersiz bir özelliği kullanabilirsiniz. Bu adrese gönderilen herhangi bir datagram, bu port için ağdaki tüm UDP istemcilerine gönderilecektir.
Sohbet uygulamanız için yapabilecekleriniz, her bir kullanıcının, kullanıcının takma adı gibi kendisini tanımlayan UDP yayınına bir paket göndermesini sağlamaktır. Diğer tüm müşteriler bu paketi görecek ve paketi ayrıştıracak ve ağdaki tüm sohbet istemcilerin listesini görüntüleyebileceksiniz.
DatagramSocket s = new DatagramSocket();
s.setBroadcast(true);
DatagramPacket dp = new DatagramPacket("insert data here".getBytes(), "insert data here".length(), new InetSocketAddress("255.255.255.255", 5000));
s.send(dp);
Başka bir kullanıcı bu gibi alabilir: İşte
yayın için bir Datagram göndererek bir örnektir
DatagramSocket s = new DatagramSocket();
s.setBroadcast(true);
DatagramPacket dp = new DatagramPacket(new byte[1024], 1024);
s.receive(dp);
alınan datagram paketleri IP ve müşterinin port içerecektir kim yayınladı.
Bir liste kullanmayı ve onu her yeni müşteriye aktarmayı denedim.Sonra işe yaramadı. – Omar