Socket_Internet 命名空间
2018-06-18 04:17:19来源:未知 阅读 ()
英特网目前有两种地址格式:1、IPv4(32位地址格式)2、IPv6(128位地址格式)。IPv4的命名空间为PF_INET,IPv6的命名空间则为PF_INET6。
#incldue <sys/socket.h> int PF_INET int PF_INET6
Internet 命名空间下的socket地址有以下两个组件:
1、想连接的机器的地址:有几种表示方式,1、Internet Address Formats;2、Host Addresses;3、Host Names
2、端口号
地址和端口号都要遵循一个叫网络字节顺序的标准格式。
Internet Socket Address Formats:
#include <netinet/in.h> struct sockaddr_in { sa_family_t sin_family,//指明了使用的socket地址的地址族。在Internet中为AF_INET struct in_addr sin_addr,//主机的地址(IP地址,或者主机名) unsigned short int sin_port//端口好 } struct sockaddr_in6 { sa_family_t sin6_family, struct in6_addr sin6_addr, unint32_t sin6_flowinfo, //未实现部分。。。。。。 unit16_t sin6_port, }
Host addresses和host name:
主机地址指的就是平常所说的ip地址,比如IPv4地址128.52.46.32。IPv6地址
5f03:1200:836f:c100::1。
主机地址的数据类型:IPv4地址占32位,最好使用unit32_t类型或者struct in_addr。
IPv6占128位,使用struct in6_addr。
#include <netinet/in.h> struct in_addr { uint32_t s_addr; } uint32_t INADDR_LOOPBACK //特指地址127.0.0.1 uint32_t INADDR_ANY //代表任何接入的地址。 uint32_t INADDR_BROADCAST //广播地址 uint32_t INADDR_NONE //标识错误 struct in6_addr struct in6_addr in6addr_loopback //代表Ipv6的回环地址::1 IN6ADDR_LOOPBACK_INIT //与上等同 struct in6_addr in6addr_any //IPV6常量地址'::'。表示任何接入的地址 IN6ADDR_ANY_INIT //与上等同
每台计算机都可以有一个或多个主机名,比如:www.gnu.org。
对于端口号提供了两个宏
#include <netinet/in.h> int IPPORT_RESERVED int IPPORT_USERRESERVED
端口号小于IPPORT_RESERVED保留给特定应用程序或协议。端口号大于IPPORT_USERRESERVED用于显示使用,系统不会自动分配。
如果你的socket未指定地址,系统会自动申请一个介于IPPORT_RESERVED和IPPORT_USERRESERVED之间的端口。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Ackerman 函数
下一篇:函数指针、回调函数、系统调用区别
- 【新年呈献】高性能网络通信框架 HP-Socket v5.7.1 2020-01-07
- Visual Studio 重命名项目名 2019-12-06
- 套接字 2019-11-18
- new/delete与命名空间 2019-09-17
- 49.Qt-网络编程之QTCPSocket和QTCPServer(实现简易网络调试 2019-08-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash