boost::asio如何确定要连接到哪个端口? 因此,我决定在我的C++课程之后,通过学习如何做一些网络化,向前迈进一步。

boost::asio如何确定要连接到哪个端口? 因此,我决定在我的C++课程之后,通过学习如何做一些网络化,向前迈进一步。,c++,networking,boost,C++,Networking,Boost,在学习了如何使用boost::asio创建同步客户机的示例之后,一切都进行得很顺利,但当我试图弄清楚程序的哪个部分实际上处理端口时,我被难住了 我知道您输入了IP地址(例如,我使用127.0.0.1作为程序的参数。我通过命令行运行代码:#client 127.0.0.1 此外,代码的服务器端在端口13上运行,如下所示: 以下是网站的完整代码: (也可在此处找到: // //client.cpp // ~~~~~~~~~~ // //版权所有(c)2003-2012克里斯托弗·M·科尔霍夫(克里斯

在学习了如何使用boost::asio创建同步客户机的示例之后,一切都进行得很顺利,但当我试图弄清楚程序的哪个部分实际上处理端口时,我被难住了

我知道您输入了IP地址(例如,我使用127.0.0.1作为程序的参数。我通过命令行运行代码:
#client 127.0.0.1

此外,代码的服务器端在端口13上运行,如下所示:

以下是网站的完整代码: (也可在此处找到:

//
//client.cpp
// ~~~~~~~~~~
//
//版权所有(c)2003-2012克里斯托弗·M·科尔霍夫(克里斯在科尔霍夫网站)
//
//根据Boost软件许可证1.0版发布。(参见随附的
//文件LICENSE_1_0.txt或复制到http://www.boost.org/LICENSE_1_0.txt)
//
#包括
#包括
#包括
使用boost::asio::ip::tcp;
int main(int argc,char*argv[])
{
尝试
{
如果(argc!=2)
{

std::cerr此行中设置了端口:

tcp::resolver::query query(argv[1], "daytime");

字符串
“Daylay”
引用了Daylay协议的一个可接受的名称,并且它使用了一个众所周知的端口。如果您在Linux或Mac OSX机器上,您可以检查文件
/etc/services
,查看名称到端口的映射。

感谢您的快速响应。不过,我有一个问题,我刚刚尝试输入了我选择的端口,例如“133”而不是“Dayer”。这是使用此功能的正确方法吗?@TheAJ是的,名称(来自
/etc/services
)或数字(作为字符串)都可以使用。请参阅。
tcp::resolver::query query(argv[1], "daytime");