2016-12-29 91 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文件中的答复。然后你可以用浏览器打开这个文件。

相关问题