我正在使用套接字执行有关客户端服务器通信的程序。我在互联网上看到了客户端服务器程序的例子,但我有一个问题。如何获得主机名?我在下面链接的网页上看到了一个客户端程序示例。程序从命令行参数中获取用户的主机名,但我怎么知道主机名?我尝试使用我的用户名,但它说主机没有找到。我在同一台机器上运行。非常感谢你的时间。
客户端: http://www.tutorialspoint.com/unix_sockets/socket_client_example.htm
服务器: http://www.tutorialspoint.com/unix_sockets/socket_server_example.htm
答案 0 :(得分:1)
如果您的客户端和服务器位于同一主机上,主机名为localhost
,或者您可以使用该计算机的名称,或者您可以使用127.0.0.1
答案 1 :(得分:1)
假设您指的是当前正在运行的主机,请使用 gethostname
int main(int argc, char *argv[])
{
int ret;
char buffer[100];
if ((ret = gethostname(buffer, sizeof(buffer))) == -1)
{
perror("gethostname");
exit(1);
}
printf("hostname is: %s\n", buffer);
return(0);
}
答案 2 :(得分:1)
主机名与获取主机名的用户名不同使用命令“hostname” 并在命令行中使用此主机名
命令:
主机名 - > gethostname
hostname<名称> - >名称为
的sethostname答案 3 :(得分:0)
对于客户端服务器程序,客户端必须知道要与之通信的计算机的主机名或IP地址。
想象一下,如果你开车去某个特定的商店,你需要知道到达那里的商店的地址。类似地,客户端需要与之通信的主机的地址。
如果您正在运行自己的客户端和服务器,请在计算机中键入hostname,它将为您提供主机名。通常您需要主机名和端口,但在简单的示例程序中,该值可能是硬编码的。