Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 实现Finger客户端_C++_C_Sockets_Networking - Fatal编程技术网

C++ 实现Finger客户端

C++ 实现Finger客户端,c++,c,sockets,networking,C++,C,Sockets,Networking,我需要帮助编写finger客户端。现在,我正在尝试使用端口79上的套接字连接到finger服务器。我使用了getservname(“finger”),它返回了端口79。因此,为了连接,我使用了: struct sockaddr_in sa; sa.sin_family=AF_INET; sa.sin_addr = inet_addr( "localhost" ); sa.sin_port = htons( 79 ); int s = socket( AF_INET, SOCK_STREAM,

我需要帮助编写finger客户端。现在,我正在尝试使用端口79上的套接字连接到finger服务器。我使用了getservname(“finger”),它返回了端口79。因此,为了连接,我使用了:

struct sockaddr_in sa;

sa.sin_family=AF_INET;
sa.sin_addr = inet_addr( "localhost" );
sa.sin_port = htons( 79 );

int s = socket( AF_INET, SOCK_STREAM, 0 );
connect( s, &sa, sizeof( sa ) );
但是,这会在errno中返回“连接被拒绝”。我还尝试了localhost的“127.0.0.1”。有人知道这是为什么,或者如何正确连接到本地finger服务器吗


谢谢

您确定在本地主机上运行finger服务器吗?如何确定?getservname(“finger”)返回端口号79。我假设这意味着它正在运行?
getservname
只解析名称端口映射,如文件
/etc/services
中指定的。使用例如命令列出打开的端口。除非您特意设置端口,否则您的计算机几乎肯定不会运行finger服务器。这些在几十年前就不再流行了。有没有办法知道另一台服务器是否正在运行finger?是不是
finger@hostname.com
?如果我知道另一台服务器正在运行finger,这是正确的连接方式吗?