2011-01-25 135 views
1

我有一個DP(數據處理器,java代碼),我的網絡和一些C客戶端運行。客戶需要與DP通信以進行數據交換。客戶端需要使用廣播發現來發現DP。客戶將廣播一條消息,DP將監聽並響應可用性。我不知道如何在Java中爲廣播消息添加監聽器,我試過使用DatagramSocket,但它要求輸入端口號? DP應該監聽任何端口收到的廣播消息。使用Java的廣播監聽器?

+0

選中此http://download.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html – Cratylus 2011-01-25 22:16:53

回答

1

除非客戶端使用像ICMP,他們確實需要一個端口了。在一個正常的TCP/IP協議棧的廣播和組播用UDP(是的,這是一個Java發言DatagramSocket),因此需要的端口號來完成。只需選擇一個你喜歡的端口,使其更加靈活併爲服務器和客戶端提供配置選項。

當然還有其他選項,如DNS SRV records,multicast DNS/Bonjour,自定義IP協議等,但那些更難處理。