• 2023-08-11iovec结构体
    iovec基本介绍包含在头文件#include<sys/uio.h>中的一个结构体其定义如下structiovec{ void*iov_base; //指向数据的地址 size_tiov_len; //数据的长度};其实就是一个指向一块内存的指针,同时携带了数据长度而已干嘛用的服务于以下两个函数intreadv(intfd,co
  • 2023-06-15Linux UDP协议栈中的片段分析 - udp_recvmsg
    udp_recvmsg(struct kiocb *iocb, struct sock *sk, structsize_t len, int noblock, int flags, int调用了:err = skb_copy_datagram_iovec(skb, sizeof(struct udphdr), msg->msg_iov,copied);调用了:memcpy_toiovec(to, skb->data + o, copy);
  • 2023-06-14分散输入和集中输出------readv() 、 writev()
    参考:https://blog.csdn.net/zhizhengguan/article/details/117173049//功能:将数据从文件描述符读到分散的内存块中,即分散读。ssize_treadv(intfd,conststructiovec*iov,intiovcnt);//iovcnt代表选择iov中的几块内存,而不是选择第几块内存//功能:将多块分散的内存数
  • 2023-06-04细说socket
       老实讲,到目前为止,我对socket一无所知,真的。我就现学现卖用过nodejs平台的socket.io搭建过一套高可用实时性的网页聊天系统,其他,就真的只是听过它。今天就来仔仔细细的学一下,socket是什么?它能干什么? 什么是socketsocket,我们先仅仅看这个英文单词的中文翻译,它翻译