我正在用 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
最佳答案
how I can send my [HTTP] request without writing port after address[?]
如果不指定特定端口,则无法与 TCP 端点通信。然而,各种服务都有常规(默认)端口,如果用户未明确指定,客户端软件通常会使用服务的常规端口。
HTTP 协议(protocol)的常规端口是 80。如果您的服务器在该端口上运行,那么 HTTP 用户代理(例如 Web 浏览器)很可能不需要您指定该端口;相反,他们会默默地为您插入它。您需要服务器计算机的根/管理员权限才能在端口 80 或任何其他小于 1024 的端口上运行服务器软件。
关于c - 无需在地址后写端口即可访问服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41381261/