簡體   English   中英

客戶端如何找到服務器的端口號?

[英]How does a client find the port number of a server?

我目前正在學習Java中的基本網絡。 我一直在研究兩台計算機之間的服務器和客戶端關系。 但是,我無法弄清楚分布式程序(例如,視頻游戲)如何不僅可以找到“主機”計算機,而且可以找到服務器運行所在的端口號以便在兩台計算機之間創建套接字。 我真正看到的創建套接字的唯一方法是使用已知的IP地址和已知的端口號。

您如何在LAN網絡中搜索另一台正在搜索客戶端的計算機(主機)?

您如何確定服務器所在的端口,而不會“ ping”所有可用端口進行響應(據我所知,這是錯誤的形式……關於“服務器攻擊” ...)?

在諸如視頻游戲的情況下,同一網絡上可以有任意數量的計算機,並且它們中的任意數量都可能試圖托管或以其他方式運行該應用程序。 關於在客戶端上建立非常少的信息進行連接的任何其他重要信息,或者可能參考的是比我正在使用的教程更詳細的教程。

非常感謝,

喬納森

通常,服務/方案具有給定的端口號或它們使用的端口號范圍(HTTP使用80,SSH使用22等)。 此外,他們可以連接到“主”服務器,以宣布其存在並了解其他節點(例如Battle.net)。

如果使用Zeroconf(通過Bonjour,Avahi等),則完全不需要這些。 Zeroconf允許計算機在LAN上執行多播DNS,而不是傳統上用於DNS的點播機制。 這使他們可以發現網絡上也支持mDNS的計算機,並發現它們上運行的服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM