c - NTP 客户端连接超时
问题描述
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netdb.h>
#include <arpa/inet.h>
int main(int argc, char **argv){
struct addrinfo hints,*res;
char hostname[12],timedata[200];
memset(&hints,0,sizeof hints);
hints.ai_family=AF_INET;
hints.ai_socktype=SOCK_STREAM;
hints.ai_flags=AI_PASSIVE;
getaddrinfo(argv[1],"123",&hints,&res);
int socketfd = socket(AF_INET,SOCK_STREAM,0);
struct sockaddr_in *foo=(struct sockaddr_in *)res->ai_addr;
printf("connecting to server: %s\n",inet_ntoa(foo->sin_addr));
if(connect(socketfd,res->ai_addr,res->ai_addrlen)==-1){
perror("connect error");return -1;}
printf("connected to server\n");
recv(socketfd,timedata,sizeof timedata,0);
printf("%s\n",timedata);
return 0;
}
这是我的 ntp 客户端代码,它从 ntp 服务器接收白天消息
但是当我运行它时,./ntpclient time.google.com
我得到了connect error:Connection timed out
我已经尝试过其他服务器以及同样的问题