kimse Sen cepheye Sözünü geri varjava DatagramSocket
cevap
gönderme noktaya yayın datagramları Java datagram`ının her türlü göndermek için
, tek noktaya olsun, yayın veya çok noktaya, tek bir java.net.DatagramSocket
ihtiyacı Soketin bağlanması gereken DatagramSocket kurucusunun portu. Bu sadece belirli bir limanda bize ulaşabilmemiz için başka taraflara ihtiyaç duyuyorsa gereklidir. Üçüncü bir kurucu, yerel bağlantı noktasını ve bağlanacağı yerel IP adresini alır. Bu, çok ağ bağlantılı ana bilgisayarlarda trafiğin hangi ağ bağdaştırıcısının alındığının önemli olduğu (nadiren) kullanılır.
DatagramSocket socket = new DatagramSocket();
byte[] b = new byte[DGRAM_LENGTH];
DatagramPacket dgram;
dgram = new DatagramPacket(b, b.length,
InetAddress.getByName(MCAST_ADDR), DEST_PORT);
System.err.println("Sending " + b.length + " bytes to " +
dgram.getAddress() + ':' + dgram.getPort());
while(true) {
System.err.print(".");
socket.send(dgram);
Thread.sleep(1000);
}
Alma noktaya yayın datagramları
Bir göndermek ve tek noktaya yayın datagramları almak için normal bir DatagramSocket kullanabilir ve çok noktaya yayın paketleri göndermek için. Multicast datagramları alabilmek için MulticastSocket'a ihtiyaç duyulur. Bunun nedeni basittir, UDP'nin altındaki tüm protokol katmanları tarafından çok noktaya yayın trafiğini kontrol etmek ve almak için ek çalışma yapılması gerekir. Daha fazla bilgi için
byte[] b = new byte[BUFFER_LENGTH];
DatagramPacket dgram = new DatagramPacket(b, b.length);
MulticastSocket socket =
new MulticastSocket(DEST_PORT); // must bind receive side
socket.joinGroup(InetAddress.getByName(MCAST_ADDR));
while(true) {
socket.receive(dgram); // blocks until a datagram is received
System.err.println("Received " + dgram.getLength() +
" bytes from " + dgram.getAddress());
dgram.setLength(b.length); // must reset length field!
}
:
Her müşterinin yayın grubunda gönderilip alınabilmesi mümkün mü? (Göndermek için DatagramSocket ve almak için MulticastSocket olarak tanımlanır) – Razavi
Çoklu Yayın Soket aracılığıyla DatagramSocket verileri ve aynı veri göndermeyi almamın bana java bir örnek gösterebilir veri Noktaya Yayın Soket veri göndermek alırlar. , bir MulticastSocket aracılığıyla multicast'leri alırsınız, ancak bu şekilde göndermeniz gerekmez: bunları bir DatagramSocket aracılığıyla gönderebilirsiniz.
Java Tutorial, Custom Networking trail'a bakın.
DatagramSocket socket = new DatagramSocket();
biri isteğe bağlı olarak bir yerel sağlayabilmektedir:
Yukarıdaki yorumun ne kadar doğru olduğuna emin değilim. Çok noktaya yayın paketini normal bir DatagramSocket üzerinden gönderemedim. Sadece sunucu tarafında bir MulticastSocket kullanmaya başladığımda, bana sunucudaki paketleri kokladığımda giden trafiği göstermeye başladı. –
- 1. Java datagramsocket eksik iletiyi alır
- 2. Java DatagramSocket tarafından 255.255.255.255'e paketleri gönderme
- 3. DatagramSocket zaman aşımı ekleme -) (
- 4. Java üzerinde UDP yayını çalışmıyor
- 5. JAVA, birden çok (UDP) belirli NIC'yi seçer/seç
- 6. UDP Soketi hakkında veri gönderip al ver java android
- 7. Java 8'de Java 8, Java 7
- 8. Java dosyası, Java
- 9. Java
- 10. java
- 11. Java
- 12. Java
- 13. java
- 14. Java
- 15. Java
- 16. Java
- 17. java
- 18. java
- 19. java
- 20. Java
- 21. Java
- 22. java
- 23. Java:
- 24. java
- 25. java
- 26. Java
- 27. java
- 28. Java
- 29. Java
- 30. Java
noktalama işaretlerini kullanmak ve uygun bir soru başlığını yazınız! – Alexander