- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如果我需要获取 IP 的主机名,我应该使用哪个端口? getnameinfo() 从哪里获取主机名?
struct sockaddr_in sa;
sa.sin_family = AF_INET;
sa.sin_port = htons(?); // which port ?
inet_pton(AF_INET, "x.x.x.x", &(sa.sin_addr));
char host[NI_MAXHOST];
getnameinfo((struct sockaddr *)&sa, sizeof(sa), host, NI_MAXHOST, NULL, 0, NI_NAMEREQD);
puts(host);
最佳答案
如果您不使用 serv
和 servlen
参数,则端口号无关紧要。否则它用于通过端口号查找服务,例如“ssh”
用于端口 22,“smtp”
用于端口 25,等等(有关更多信息,请参见 /etc/services
)。
getnameinfo()
可以从很多地方获取主机名(使用 nsswitch.conf
,可以为不同的系统启用杂项 libnss
模块种名称解析)。在典型的桌面 Linux 发行版上,我希望它首先查看 /etc/hosts
,然后根据 /etc/resolv.conf
查询 DNS 服务器。
关于c++ - sockaddr_in 中的 sin_port,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14759415/
我创建了下面的Excel VBA代码,该代码使用Winsock API连接到IP地址,从Excel单元格发送文本字符串,然后返回接收文本字符串。 我的代码最初指向带有端口127.0.0.1的IP地址8
我正在学习 C++ 套接字编程。我知道套接字必须绑定(bind)到服务器地址,在客户端,调用 connect() 时有一个内部 bind() 。服务器监听 struct sockaddr_in 的 s
如果我需要获取 IP 的主机名,我应该使用哪个端口? getnameinfo() 从哪里获取主机名? struct sockaddr_in sa; sa.sin_family = AF_INET
我正在编写一个服务器-客户端程序,在服务器中我在服务器上使用 getaddrinfo 和 getsockname 来获取有关本地 IP 地址和本地绑定(bind)端口号的信息。使用此信息,我启动我的客
我尝试在 C 语言的服务器应用程序中打印客户端端口。但是我得到客户端端口的负数,这是什么奇怪的行为:-/任何人都知道哪里可能有问题吗? 导致问题的部分代码: struct sockaddr_in cl
我正在尝试分配函数传递给它的端口号。收到的端口号在收到时正确显示,但是当我尝试将该端口号分配给新的套接字时,该端口号未分配,并且每次都分配了其他一些号码 52428。我尽力自己找出错误,但我失败了:(
我正在尝试制作一个接受连接的非常简单的服务器。 int sock, serv; struct sockaddr_in in_sock; serv = socket(AF_INET, SOCK_STRE
我是一名优秀的程序员,十分优秀!