端口endpoint

什么是端口endpoint

在进行网络通信时,需要知道三项:IP地址、通信协议、端口号,通信协议用来决定如何通信,IP地址和端口号用来进行确定目标,在Boost.Asio中提供了对应的模型来一并表示这三项内容,就是端口:ip::basic_endpoint包含了IP地址和端口号,并以通信协议类型为模板参数。可以直接使用的有:

  • ip::tcp::endpoint
  • ip::udp::endpoint
  • ip::icmp::endpoint

需要了解的内容

  • 本地端口的构造
    指定协议和端口号即可构造,通常用来接收新连接,例如:
    tcp::endpoint local_ep(ip::tcp::v4(),1024);
  • 远程端口的构造
    在知道远程主机IP地址和端口号的情况下可以直接构造端口来进行通信,例如:
    tcp::endpoint remote_ep(ip::address::from_string("127.0.0.1"),1024);
  • 如何从主机名和服务名得到端口
    需要使用DNS服务得到主机对应的IP地址,在Boost.Asio中提供了ip::tcp::resolver等来获取端口

总结

端口就相当于具体的地址,根据这个地址来进行通信动作。

你可能感兴趣的:(端口endpoint)