我有一個服務器和一些客戶端,軟件方面,我希望客戶端找出服務器的IP地址,而不實際引用特定的數據庫。沒有集中式主機的網絡通信。可能嗎?
到目前爲止,我對UDP有一個誤解,認爲UDP只使用端口作爲服務器和客戶端之間的通用標識符,但顯然我錯了。
要求: 我希望我的服務器向網絡上的所有設備廣播一條消息,每5秒左右一次。 該消息將包含服務器的IP。
軟件使用這種技術已經: 一張照片transfering應用程式iOS版,名爲「照片傳輸應用程序」是很容易使用,因爲它主要是告訴你打開你的Mac和iPhone上的應用程序,然後你按「發現」和BAM!你的設備已經找到了對方。 但是如何?
我的要求如何實現?
編輯 我google了一下。服務器主機可以在255.255.255.255
和客戶端連接到該地址解決我的問題?
According to this Wikipedia article,255.255.255.255
用於廣播。
有人可以確認嗎?
你想要什麼是不可能的。客戶端必須與SOMETHING交談以獲取有關服務器位置的信息,或者必須掃描網絡直到找到服務器。換句話說,您需要某種網絡數據庫來提供所需的信息。 dns'TXT'記錄,dhcp選項,等等等等等等。你不希望客戶開始廣播「yohooo,我在這裏」,因爲這隻會給網絡帶來無用的流量。 –
@MarcB請再次閱讀我的問題,我已經添加了一些額外的信息。 – vaid
由於發送到該地址會中斷網絡上的每個設備_(打印機,路由器,交換機,PC未參與等),因此您無法真正使用分配給「255.255.255.255」的設備(客戶端或服務器)。此外,如果您也想使用IPv6,則會出現問題,因爲IPv6上不存在廣播。你應該真的關注多播。 –