1、首先明白一个结构体struct sockaddr_in,这个结构体是用来储存网络通信地址的。在bind()函数里用到。
这个结构体有三个需要赋值的参数:
sin_family(这个意思就是地址族:IPV4,IPV6这样式儿的。一般都填IPV4,也就是AF_INET(IPv4 网络协议的套接字类型))。一般这样赋值 结构体对象.sin_family = AF_INET;
sin_port (意思是端口,你需要赋值一个端口号,这个端口号不能直接赋值,需要用htons()进行转换,这个函数的意思是把整形的主机字节序转换为网络字节序)一般这样赋值 结构体对象.sin_port = htons(800);
第三个参数还是一个结构体你需要给这个结构体里面的结构体里存的变量进行赋值。这个结构体是 struct in_addr{ int _addr_t s_addr;},然后进行赋值 结构体对象.sin_addr.s_addr = inet_addr("192.168.1.0"); //设置地址,inet_addr()这个函数的具体意思:是以转化字符串,主要用来将一个十进制的数转化为二进制的数,用途多于ipv4的IP转化。
网友评论