位置: 编程技术 - 正文

Linux C中sockaddr和sockaddr_in的区别(sockaddr_in和sockaddr)

编辑:rootadmin

推荐整理分享Linux C中sockaddr和sockaddr_in的区别(sockaddr_in和sockaddr),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:struct sockaddr_un,struct sockaddr_ll,linux socks5,linux sockaddr_in,linux .sock,linux socks5,linux .sock,struct sockaddr_ll,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux C中sockaddr和sockaddr_in的区别

struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。

在各种系统调用或者函数中,只要和网络地址打交道,就得用到这两个结构体。

网络中的地址包含3个方面的属性:

1 地址类型: ipv4还是ipv ip地址3 端口

相应的,头文件有如下定义:

注释中标明了属性的含义及其字节大小,这两个结构体一样大,都是个字节,而且都有family属性,不同的是:

Linux C中sockaddr和sockaddr_in的区别(sockaddr_in和sockaddr)

sockaddr用其余个字节来表示sa_data,而sockaddr_in把个字节拆分成sin_port, sin_addr和sin_zero分别表示端口、ip地址。sin_zero用来填充字节使sockaddr_in和sockaddr保持一样大小。

sockaddr和sockaddr_in包含的数据都是一样的,但他们在使用上有区别:

程序员不应操作sockaddr,sockaddr是给操作系统用的

程序员应使用sockaddr_in来表示地址,sockaddr_in区分了地址和端口,使用更方便。

一般的用法为:

程序员把类型、ip地址、端口填充sockaddr_in结构体,然后强制转换成sockaddr,作为参数传递给系统调用函数

网络编程中一段典型的代码为:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Linux 中fork的执行的实例详解 Linux中fork的执行的实例详解先看看一段fork的程序intmain(){pid_tpid;语句a;pid=fork();语句b;}1.当程序运行到pid=fork()时,这个进程马上分裂(fork的中文意思)成两个

详解Linux下读取位图的注意事项 详解Linux下读取位图的注意事项在Linux下读取位图遇到的问题,很好地体现了linux与Windows操作系统的不同。按理说位图格式与操作系统无关,读取也应该

linux创建PHP定时任务的实例 linux创建PHP定时任务下面所有的前提是服务器存在PHP环境首先创建一个php文件:示例内容如下:php$ch=curl_init();//设置请求curl_setopt($ch,CURLOPT_URL,"写上要请

本文链接地址:https://www.jiuchutong.com/biancheng/378219.html 转载请保留说明!

上一篇:Linux 下C语言获取文件大小(linux c语言获取当前路径)

下一篇:Linux 中fork的执行的实例详解(linux中fork()函数详解(原创!!实例讲解))

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络