sockaddr_in(SOCKADDR_IN结构中的sin_family ,sin_addr各是什么具体意思有什么区别最好讲得通俗点,谢谢各位高手)
本文目录
- SOCKADDR_IN结构中的sin_family ,sin_addr各是什么具体意思有什么区别最好讲得通俗点,谢谢各位高手
- SOCKADDR_IN结构中的sin_family ,sin_addr各是什么具体意思
- SOCKADDR_IN的经典案例
- Linux下socket编程的sockaddr_in结构体中的__SOCKADDR_COMMON (sin_);是什么意思
SOCKADDR_IN结构中的sin_family ,sin_addr各是什么具体意思有什么区别最好讲得通俗点,谢谢各位高手
sin_family表示协议簇,一般用AF_INET表示TCP/IP协议。sin_addr是一个联合体,用联合体就可以使用多种方式表示IP地址。一般我们使用其中的最后一种方式,即用无符号长整型数据来表示IP地址。此时,用的是s_nu数据成员,s_un是一个结构体,其中只有一个数据成员,即s_addr。使用方式:变量.sin_family=AF_INET;变量.sin_addr.S_un.S.addr=htonl("IP地址");
SOCKADDR_IN结构中的sin_family ,sin_addr各是什么具体意思
sin_family表示协议簇,一般用AF_INET表示TCP/IP协议。sin_addr是一个联合体,用联合体就可以使用多种方式表示IP地址。一般我们使用其中的最后一种方式,即用无符号长整型数据来表示IP地址。此时,用的是s_nu数据成员,s_un是一个结构体,其中只有一个数据成员,即s_addr。使用方式:变量.sin_family=AF_INET;变量.sin_addr.S_un.S.addr=htonl("IP地址");
SOCKADDR_IN的经典案例
服务端: int main(){//创建socketint sockfd = socket(PF_LOCAL,SOCK_DGRAM,0);if(sockfd == -1)perror("创建socket失败"),exit(-1);//准备通信地址struct sockaddr_un addr;addr.sun_family = PF_UNIX;strcpy(addr.sun_path, "a.sock");//绑定intres=bind(sockfd, (struct sockaddr*)&addr,sizeof(addr));if(res==-1)perror("绑定失败"),exit(-1);printf("绑定成功\n");//通信(用读写文件方式)charbuf={};read(sockfd,buf,sizeof(buf));printf("收到信息:%s\n",buf);//关闭socketclose(sockfd);return 0;}客户端: int main(){int sockfd=socket(PF_LOCAL,SOCK_DGRAM,0);if(sockfd==-1)perror("创建socket失败"),exit(-1);struct sockaddr_un addr;addr.sun_family=PF_UNIX;strcpy(addr.sun_path,"a.sock");//连接int res=connect(sockfd,(structsockaddr*)&addr,sizeof(addr));if(res==-1)perror("失败"),exit(-1);printf("成功\n");write(sockfd,"Hello,Socket!",14);close(sockfd);return 0;}
Linux下socket编程的sockaddr_in结构体中的__SOCKADDR_COMMON (sin_);是什么意思
__SOCKADDR_COMMON();是宏定义的意思,括号里面是它的参数,这个宏定义表示的是tcp/ip协议的版本是,ipv4还是ipv6的意思,最后的那个unsignedcharsin_zero的大小为什么做减法呢,是为了保证这个结构提到大小和另一个套接字地址的结构体structsockaddr的大小一致。这么说不知道你能不能不能理解,第一个参数在实际使的时候一般是个常数。再看看别人怎么说的。
更多文章:
极速版今天的金币怎么兑换?快手极速版15000金币能兑换多少钱
2024年8月1日 01:15
有什么好的TXT电子书下载网站要免费的直接在网上下载的?免费可下载TXT格式小说的网址有
2024年7月14日 22:45
微信里有一个类似贪吃蛇打方块的游戏叫什么?俄罗斯方块游戏下载!!
2024年6月27日 13:35
samsung mobile usb(SAMSUNG Mobile USB Modem 怎么处理)
2024年7月7日 16:20
大明也有轰轰烈烈的航海壮举,为何却没有一块殖民地呢?为什么说“第一次世界大战的爆发同帝国主义国家对殖民地的争夺有密切关系”
2024年3月23日 20:05
真封神之天尊地魔手机版(真封神之天尊地魔里面的BOSS位置,坐标)
2024年6月15日 23:25
什么是热键驱动程序?三星R428自己重装系统后,FN快捷键不能用,听说要装驱动,具体何种驱动啊
2024年5月13日 23:55
手机来电通如何设置拦截电话,却不拦截短信?诺基亚6700s的来电通怎么不能拦截黑名单里的电话.还总是显示来电通部分服务被停止!
2024年4月27日 07:35
如何用python和jieba分词,统计词频?SEM里面分词到底该如何分,有什么好的分词工具吗
2024年5月3日 21:40