博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
套接字地址结构作为参数时的传递方式
阅读量:6288 次
发布时间:2019-06-22

本文共 644 字,大约阅读时间需要 2 分钟。

hot3.png

套接字地址结构的传递有两种方式,取决于传递的方向:一是从进程到内核,而是从内核到进程。
1.从进程到内核传递套接字地址结构的函数有三个:bind,connect,sendto。这几个函数中都包含一个指向套接字地址结构的指针;和一个该结构的整数大小,如:
struct sockaddr_in serv;//fill in serv{}connect(sockfd, (struct sockaddr*)&serv, sizeof(serv));
2.从内核到进程传递套接字地址结构的函数有四个:accept,recvfrom,getsockname,getpeername。这几个函数中都包含一个指向套接字地址结构的指针;和一个指向该结构大小的整数变量指针,如:
struct sockaddr_un cli;  //unix domainsocklen_t len;len = sizeof(cli);getpeername(unixfd, (struct sockaddr*)&cli, &len);  //len may have changed
说明:之所以内核向进程传递套接字地址结构时,使用的是结构大小的指针,是因为在内核修改完套接字地址结构后,可能会改变该结构的大小,如果传递的是大小的指针的话,就比较便于进程获知该结构新的大小。
注:部分内容整理自《UNIX网络编程卷一》

转载于:https://my.oschina.net/showcolors/blog/105375

你可能感兴趣的文章
数据结构实践——顺序表应用
查看>>
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>
zip 数据压缩
查看>>
Python爬虫学习系列教程
查看>>
【数据库优化专题】MySQL视图优化(二)
查看>>
【转载】每个程序员都应该学习使用Python或Ruby
查看>>
PHP高级编程之守护进程,实现优雅重启
查看>>
PHP字符编码转换类3
查看>>
rsync同步服务配置手记
查看>>
http缓存知识
查看>>
Go 时间交并集小工具
查看>>
iOS 多线程总结
查看>>
webpack是如何实现前端模块化的
查看>>