- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我确实是 C 和套接字的初学者。我知道我不应该使用 gethostbyaddr 因为这是为了考试所以我必须使用他们告诉我使用的东西......我在 Linux 机器 (Ubuntu 14.04) 上使用此代码。
我正在尝试编写一个 echo c/s 程序。一切正常,但是当我尝试从服务器获取有关客户端的一些信息时,struct hostent * clienthost
为 null。
这是我的服务器.c:
int main(int argc, char * argv[])
{
struct sockaddr_in cliaddr, servaddr;
struct hostent * clienthost;
int port, sd, len;
char request[MAX_LENGTH];
const int on = 1;
port = atoi(argv[1]);
memset ((char *)&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = INADDR_ANY;
servaddr.sin_port = htons(port);
sd=socket(AF_INET, SOCK_DGRAM, 0);
setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
bind(sd,(struct sockaddr *) &servaddr, sizeof(servaddr));
for (;;)
{
len = sizeof(request);
recvfrom(sd, request, sizeof(request), 0, (struct sockaddr *) &cliaddr, &len);
clienthost = gethostbyaddr( (char *) &cliaddr.sin_addr, sizeof(cliaddr.sin_addr), AF_INET);
if (clienthost == NULL)
printf("client host information not found\n");
else
printf("Operation from: %s %i\n", clienthost->h_name,(unsigned)ntohs(cliaddr.sin_port));
sendto(sd, &request, sizeof(request), 0, (struct sockaddr *)&cliaddr, len);
}
return 0;
}
最佳答案
客户端是否有 DNS 条目 - 如果没有,请将其放入 /etc/hosts
中进行测试 – 艾德·希尔
关于C gethostbyaddr 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27660261/
我有一个使用此功能的 django 应用程序,我正在尝试获取访问我的应用程序的 IP 地址的计算机名称。我正在使用 django-ipware 来执行此操作要获取客户端的 IP 地址,这部分工作正常。
我使用以下代码,结果是正确的,但 gethostbyaddr 需要大约 30 秒。 function IPAddrToName(IPAddr: string): string; var So
我正在为 telnet 客户端编写 C++ 代码。我在从用户输入中获取主机地址时遇到问题。 struct in_addr peers; cin>>peers; peerserver = gethost
#include #include #include #include #include int main () { in_addr ip; ip.s_addr = inet
出于某种原因 valgrind 不断抛出以下错误: ==6263== Invalid read of size 4 ==6263== at 0x40151B9: (within /lib/ld-
我正在提供一个IP地址:64.78.58.91,我想使用GetHostByAddr()win32 API检索主机名。 而不是返回www.ripcode.com,而是返回了intermedia.net
我正在尝试在 Google App Engine - Python 中使用 gethostbyaddr。 我有 import socket 然后 class BeatMail(webapp.Reque
我确实是 C 和套接字的初学者。我知道我不应该使用 gethostbyaddr 因为这是为了考试所以我必须使用他们告诉我使用的东西......我在 Linux 机器 (Ubuntu 14.04) 上使
我正在用c语言构建一个多客户端UDP服务器,但是当我尝试从系统连接到我的服务器时,我收到此错误gethostbyaddr上的错误:成功请找到下面的服务器代码。我已经尝试了类似问题的解决方案( geth
我想从主机名中获取 fqdn。我在 Linux 服务器上执行此命令:python -c “导入 sys、套接字;sys.stdout.write(socket.gethostbyaddr('')[0]
我有一个脚本可以从一个文件中读取地址并使用 socket.gethostbyaddr 查找它的主机名,但是这个函数的返回是困惑的并且看起来不正确。 写入目标文件的行是: destfile.write(
#include #include #include int main(int argc, char **argv) { char *ptr = NULL; struct hos
我知道这个问题之前在这里被问过,我阅读了所有答案,但无法自己解决这个问题。这是交易:我必须编写一个程序,它需要一堆互联网地址(例如 google.com、www.root.cz)并打印出正式名称、备用
socket.gethostbyname()当它的参数是一个真正的主机名时效果很好。但是当它是一个不存在的主机时,我会得到 3 秒的超时,然后是 socket.gaierror: [Errno 110
我正在尝试获取有关 IP 地址为 89.249.207.231 的主机的主机信息。我知道它存在,因为当我在浏览器的 url 字段中键入 IP 地址时,它会找到该页面。这是我的 C 代码。 #inclu
我有一个包含 IP 地址的变量。我正在尝试对其进行 nslookup,而不是返回 DNS 名称,我得到 0。我在 Linux 环境中。目标 IP 来自 vector (字符串 dest_ip = ve
如果我要求 gethostbyaddr() 查找 NAT 生成的 IP 地址,例如 192.168.0.4,我应该期望它起作用吗? 背景:我正在家里对一些用于网络环境的控制代码进行测试。有时,此代码会
为什么 gethostbyaddr($_SERVER['REMOTE_ADDR']) 返回一个 IP 地址,而不是它应该返回的计算机名称。它在办公室的 50 台计算机上按预期工作并返回计算机名称。目前
我有一个 Python 脚本来获取 IP 地址列表的主机名。该脚本在我从一台计算机运行时有效,但从另一台计算机运行时相同的脚本返回错误( [Errno 11004] host not found )。
我编写了一个脚本,该脚本遍历“0”网络(192.168.0。*)中的所有本地IP。 我使用socket.gethostbyaddr(ip_modified_by_the_loop_each_time)
我是一名优秀的程序员,十分优秀!