簡體   English   中英

我可以使用套接字連接從任何 ip 地址而不是特定 ip 地址獲取連接嗎?

[英]Can I use socket connection to get connection from any ip address not specific ip address?

我使用套接字連接來創建客戶端 - 服務器程序。 服務器代碼必須等待來自客戶端 IP 地址的連接。

server_address.sin_family = AF_INET;
server_address.sin_addr.s_addr = inet_addr("192.168.1.6");  //client ip address

我可以從任何非特定 ip 地址的 ip 地址連接到 192.168.1.6 嗎?

您指定的地址不是客戶端的 IP 地址,而是您自己的主機上它將要偵聽的接口的地址。

因此,要僅在 localhost 上偵聽,請指定 127.0.0.1。 要監聽外界可以看到的外部接口,您可以指定該地址。

或者,您可以指定地址0.0.0.0 ,以便客戶端可以通過任何可用接口進行連接。

請注意,盡管最初看起來有點瘋狂,但實際上僅在 localhost 上收聽是完全合理的。 這可以讓您在安全方面“作弊”。 外部用戶不是嘗試(並且很可能失敗)自己進行安全保護,而是與您的計算機形成 SSH 隧道,然后讓他們的客戶端通過該隧道連接到您的服務器。 您的服務器只需要完成它的工作,而將所有身份驗證、隱私等都交給 SSH。

暫無
暫無

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

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