gethostbyname以“127.0.0.1”作为参数,不应该是主机名吗?
如下代码,截取部分。在gethostbyname参数是主机名,运行客户端时可以用主机名做参数,如果用127.0.0.1做参数也是可以的,为什么呢?那个是IP的点分十进制形...
如下代码,截取部分。
在gethostbyname参数是主机名,运行客户端时可以用主机名做参数,如果用127.0.0.1做参数也是可以的,为什么呢?那个是IP的点分十进制形式啊,也会被认作是主机名吗?
int main(int argc, char *argv[])
{
int sockfd;
struct hostent *he;
struct sockaddr_in server;
if (argc !=2)
{
printf("Usage: %s <IP Address>\n",argv[0]);
exit(1);
}
if ((he=gethostbyname(argv[1]))==NULL)
{
printf("gethostbyname() error\n");
exit(1);
}
if ((sockfd=socket(AF_INET, SOCK_STREAM, 0))==-1)
{
printf("socket() error\n");
exit(1);
}
server.sin_addr = *((struct in_addr *)he->h_addr); 展开
在gethostbyname参数是主机名,运行客户端时可以用主机名做参数,如果用127.0.0.1做参数也是可以的,为什么呢?那个是IP的点分十进制形式啊,也会被认作是主机名吗?
int main(int argc, char *argv[])
{
int sockfd;
struct hostent *he;
struct sockaddr_in server;
if (argc !=2)
{
printf("Usage: %s <IP Address>\n",argv[0]);
exit(1);
}
if ((he=gethostbyname(argv[1]))==NULL)
{
printf("gethostbyname() error\n");
exit(1);
}
if ((sockfd=socket(AF_INET, SOCK_STREAM, 0))==-1)
{
printf("socket() error\n");
exit(1);
}
server.sin_addr = *((struct in_addr *)he->h_addr); 展开
1个回答
展开全部
127.0.0.1也可以算是主机啊
见http://blog.chinaunix.net/uid-20437338-id-1946363.html
见http://blog.chinaunix.net/uid-20437338-id-1946363.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询