![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 88
reboot人生重启计划
这个作者很懒,什么都没留下…
展开
-
socketpair + sendmsg/recvmsg进行父子进程间文件描述符传递
由于附属数据结构的复杂性,Linux系统提供了一系列的C宏来简化我们的工作。另外这些宏可以在不同的UNIX平台之间进行移植,并且采取了一些措施来防止将来的改变。可以把不同地方的缓冲区聚集起来通过writev一次性全部发送出去,此时只执行一次系统调用,可以提高程序的执行效率。type 表示类型,SOCK_STREAM或SOCK_DGRAM为前者时,创建的是管道。创建的描述符任意一端既可以读也可以写,但只局限于父子进程中,是全双工的管道。domin 表示协议族,必须为AF_LOCAL或者AF_UNIX。原创 2024-04-23 22:13:54 · 479 阅读 · 0 评论 -
socket套接字编程
sockaddr_in 和 sockaddr 是并列的结构(占用的空间是一样的),指向 sockaddr_in 的结构体的指针也可以指向 sockadd 的结构体,并代替它,而且sockaddr_in 结构对用户将更加友好,在使用的时候进行类型转换就可以了。在服务器处理客户端请求时,如果有其他客户端请求连接,就会将这些请求放入一个队列中,当调用失败时,会返回一个-1的值,同时会设置 errno 变量以指示错误类型。成功返回读取/写入的字节数,但如果读取时小于设定读取的字节数,并不意味错误。原创 2024-04-21 18:20:41 · 836 阅读 · 1 评论 -
I/O多路复用:epoll相关接口及参数
events:将从就绪队列中获取到的事件信息保存进 events 数组中,上层就可以通过events中获取到事件信息判断接下来的操作,如果想要从就绪队列中取出多个文件描述符信息,则需要传进去一个event_poll类型的数组。成功返回获取到的事件的数量,返回0,表明在timeout时间内就绪队列一直为空,返回-1表示epoll_wait发生错误,并且设置errno错误码。epoll_ctl 接口是用来 维护 epoll 对象中红黑树的节点,epoll_ctl可以在红黑树中添加,删除,修改节点。原创 2024-04-18 16:10:22 · 571 阅读 · 1 评论