我一直在嘗試學習C++中的套接字編程,並取得了一些基礎知識。但我明白基礎知識不是基礎知識。客戶端套接字應用程序如何識別同一臺主機上的服務器應用程序
其中的一個基本原理是關於標題中陳述的問題。比方說,我有兩個單獨的應用程序在同一臺計算機上運行。其中一個有一個服務器套接字,另一個有一個客戶端。
當服務器自動獲取IP地址時,客戶端如何找到服務器?我必須分配一個客戶端已知的IP地址嗎?在這種情況下,可能該IP地址在網絡上不可用。
或者,客戶端是否可以找到並通過某種名稱或ID連接到服務器?
我一直在嘗試學習C++中的套接字編程,並取得了一些基礎知識。但我明白基礎知識不是基礎知識。客戶端套接字應用程序如何識別同一臺主機上的服務器應用程序
其中的一個基本原理是關於標題中陳述的問題。比方說,我有兩個單獨的應用程序在同一臺計算機上運行。其中一個有一個服務器套接字,另一個有一個客戶端。
當服務器自動獲取IP地址時,客戶端如何找到服務器?我必須分配一個客戶端已知的IP地址嗎?在這種情況下,可能該IP地址在網絡上不可用。
或者,客戶端是否可以找到並通過某種名稱或ID連接到服務器?
除非服務器綁定到特定的不同IP地址,否則同一主機中任何服務器的IP地址都是127.0.0.1。正如@MartinJames所指出的那樣,除了某些破碎的Linux發行版之外,您可以使用'localhost'作爲主機名。
「除非」?不是127.0.0.1 **總是**本地主機的地址(但它也可以**在網絡上有不同的地址)。 – Dukeling
IIRC,'127.0.0.1'位於Linux的'hosts'文件中,可以進行編輯。即使Windows曾經有一個「主機」文件與該條目,但我猜它現在已被註冊。 –
Aparrently,它仍然在'hosts'中:https://en.wikipedia.org/wiki/Hosts_%28file%29 –
讓服務器綁定到所有接口並讓客戶機按名稱查找'localhost';它的本地解析(即無需外部DNS服務),存儲在一個「主機」文件中的IP地址,並且默認設置爲127.0.0.1
谷歌「hosts文件」
的主機名「 localhost'在本地解決 - 只需使用它。它默認爲127.0.0.1。 –