2016-12-29 88 views
0

我創造C.我的自定義HTTP服務器後寫端口有sockaddr_in看起來是這樣的:訪問服務器沒有地址

my_addr.sin_family = AF_INET; 
my_addr.sin_port = htons(8080); 
my_addr.sin_addr.s_addr = htol(INADDR_ANY); 

我的問題是如何,我可以把我的請求,而不地址後寫端口。 例如192.168.1.100,而不是192.168.1.100:8080或mydomain.loc代替mydomain.loc:[?] 8080

+0

你的意思是像從Web瀏覽器? 'HTTP://192.168.1.100:8080'? http的默認端口是80. AFAIK,如果你想使用不同的端口,它必須在URL中指定。與sudo –

回答

2

我怎麼可以把我的[HTTP]請求後無地址寫端口

你不能沒有指定一個特定的端口與TCP端點通信。但是,各種服務都具有傳統(默認)端口,而且如果用戶沒有明確指定端口,那麼客戶端軟件通常會使用服務的常規端口。

傳統端口的HTTP協議是80.如果你的服務器端口上運行,那麼它很可能是HTTP用戶代理,如Web瀏覽器不會要求你指定一個端口;相反,他們會默默地爲你插入它。您需要在服務器上根/管理員權限到端口80上運行服務器軟件,或其他任何端口上小於1024

+0

工作正常。感謝名單 – bajky

0

如果你想與任何Web瀏覽器來訪問您的自定義服務器,那麼你必須有指定自定義服務器的偵聽端口,因爲每個瀏覽器都會考慮在您提供的地址(URL)上偵聽端口80上的服務器。

我怎麼可以把我的[HTTP]請求後無地址寫端口[?]

如果你想只提供主機的IP地址,並使用8080端口作爲默認監聽的端口你的服務器,你可以做一個簡單的自定義客戶端。將主機URL(即192.168.1.100)傳遞給該客戶端。在客戶端的身體,插座連接到192.168.1.1008080地址。客戶端會將查詢發送到您的自定義服務器,並將保存在.html文件中的答覆。然後你可以用瀏覽器打開這個文件。

相關問題