在 C 中,您可以在使用 getaddrinfo 时使用服务名称来获取端口号,如下所示:
getaddrinfo("stackoverflow.com", "http", &hints, &results);
这会将 80(大端)分配给结果的前两个字节 (uint16_t)->ai_addr。
是否有一些简单的方法可以从 ?only 获取端口号?提供服务名称?我在服务器端需要这个,我希望允许用户为要绑定(bind)和监听的端口指定端口号或服务名称。
最佳答案
使用带有主机名空指针的getaddrinfo
和标志中的AI_PASSIVE
将为您提供一个sockaddr
,您可以绑定(bind)它来运行服务器。请参阅 getaddrinfo
的文档:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/getaddrinfo.html
关于c - 端口号服务,如 getaddrinfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26948406/