挑戰:我們有許多分佈式前哨的客戶端,必須使用中央服務器進行管理。由於有些客戶位於DMZ或代理後面,他們應該連接到服務器!套接字設計:處理連接請求TCP/UDP
由於我一次只需處理一個客戶端,服務器不一定能夠同時處理多個客戶端,但是,我希望看到正在嘗試連接的客戶端列表到服務器。另外,如果客戶端在中央服務器感興趣的特定目錄中有一些文件,我希望看到有關客戶端的更多信息,而不僅僅是IP地址,例如地理位置和一些信息。我的問題是,如何我最好這樣做。
當然,我可以簡單地顯示每個客戶端試圖在列表框中連接,只接受我想要連接的客戶端,但是這真的是一種方式嗎?我懷疑我能獲得有關客戶端的更多信息,而不是IP地址?
我想知道,如果這需要UDP。客戶端發送UDP數據報,通知服務器他們還活着並且想要連接。在服務器上,我看到所有這些客戶端都列出了他們發送的數據。然後,我可以選擇一個客戶端,發送一個答案/「連接請求」與UDP,以便這個特定的客戶端將通過TCP連接到服務器?
這可能嗎?
如果您有興趣避免重新發明輪子,我已經編寫了一個C++服務器和庫,它幾乎可以處理您想要做的一切;你可以看看這裏:https://public.msli.com/lcs/muscle/如果你對這種方法感興趣,給我發一封電子郵件或一封私信,我會告訴你如何設置一個演示您需要的功能(大約需要5分鐘)。 –