2012-01-06 133 views
0

我在Java(Android應用程序)中獲得了一個客戶端程序,並在C#中獲得了一個服務器程序。 它們通過內部網絡上的套接字進行通信。套接字:通過名稱自動找到服務器的客戶端,而不是IP

問題:
客戶端需要保存服務器的IP地址才能連接。所以,服務器需要一個靜態IP。

但是現在我得到了一個觀點,我不能再有一個靜態IP了,所以客戶端在啓動時不得不找到服務器。

我以爲你可以使用計算機名稱通過套接字連接,但這並不適用於我。 然後我有一個想法,只是做一個基本的請求廣播,並看看誰的答案(服務器來自正確的IP),但我不知道如何做廣播和等待多個響應。 然後我也必須找到廣播地址。

有沒有我不知道但還沒有遇到的技術呢?
任何幫助非常感謝! :)

+2

你正在尋找被稱爲DNS查找的技術。 – dtb 2012-01-06 22:13:59

+0

@dtb ...和DHCP(用於服務器用DNS服務器發佈其動態地址) – 2012-01-06 22:16:02

+0

如果是本地網絡,mDNS也可能是有意義的。 – dtb 2012-01-06 22:21:28

回答

-1

你在看什麼是主機名發現服務。 JNDI是用於發現主機名的API,但它是用於Java應用程序的。

檢查this documentation如何使用JNDI從.NET框架

+0

是不是JNDI關於應用程序中的類名稱?或者我讀錯了嗎?就像同樣的功能Activator.Create ...在.NET中執行 – FrieK 2012-01-06 23:25:54

+0

你是對的 - JNDI更多關於「類名」(更具體地說,是尋找「服務」),而不是真正關於「解析主機名到DNS」的問題,DNS是所謂的要求(或者Windows域中的DNS,DHCP和WINS的組合)。 – paulsm4 2012-01-06 23:30:38

相關問題