10.1Unix I/O 10.2文件 10.3打开和关闭文件 10.4读和写文件 10.5.1RIO的无缓冲的输入输出函数 ssize_t rio_readn(int fd, void *usrbuf, size_t n) { size_t nleft = n; //剩下未读字符数 ssize_t ...
分类:
其他好文 时间:
2021-01-19 12:25:20
阅读次数:
0
Linux内核将所有的外部设备都看做一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令,返回一个FD(File Descriptor,文件描述符)。对一个socket的操作也是作为一个I/O操作来处理的,称为socketfd(socket描述符),它指向内核的一个结构体(文件路径、数据区等 ...
分类:
系统相关 时间:
2021-01-18 10:40:31
阅读次数:
0
对fd_set的理解,可以参考下:https://www.cnblogs.com/wuyepeng/p/9745573.html int select(int nfds, fd_set* readset, fd_set* writeset, fe_set* exceptset, struct tim ...
分类:
其他好文 时间:
2021-01-16 12:04:47
阅读次数:
0
文件描述符fd(file descriptor) Socket起源于unix,Unix中一切皆文件,包括设备,比如网卡、打印机等等,所以,针对Socket通信,我们在使用网卡,网卡又处理N多链接,每个链接都需要 一个对应的描述,也就是惟一的ID,即对应的文件描述符。即 : In [40]: from ...
分类:
其他好文 时间:
2021-01-07 12:33:02
阅读次数:
0
最近做了个项目,需要统计linux 下当前socket 的fd数量,总结如下: Linux中查看socket状态: IPV4 cat /proc/net/sockstat sockets: used 130TCP: inuse 64 orphan 0 tw 0 alloc 70 mem 3UDP: ...
分类:
系统相关 时间:
2021-01-04 10:47:12
阅读次数:
0
import turtle def drawTriangle(num,len,flag):#flag用来调整画三角形的方向 flag*=-1 len/=2 if(num==1): if(flag==1): turtle.left(60) turtle.fd(len) turtle.right(120 ...
分类:
其他好文 时间:
2020-12-19 12:32:01
阅读次数:
1
static int fd; static uint64_t buffer; static void threadFunc(void) //线程函数 { int t; eventfd_t value; int ret = -1; while(1) { #if 0 t = read(fd,&buffe ...
分类:
其他好文 时间:
2020-12-16 12:45:24
阅读次数:
2
广播和多播编程都是建立在UDP通信的基础上,通过setsockopt函数即可发送广播数据报或多播数据报。 int setsockopt(int fd,int level,int optname,const char*optval,int optlen) 参数:1、套接字描述符 2、选项定义层次,可为 ...
分类:
系统相关 时间:
2020-12-15 12:45:04
阅读次数:
5
fcntl.h 头文件,file control的缩写。 int open(const char *path, int oflag) int openat(int fd, const char *path, int oflag) 将准备打开的文件或是设备的名字作为参数path传给函数,oflags用 ...
分类:
系统相关 时间:
2020-12-14 13:52:10
阅读次数:
8
原创宋宝华Linux阅码场2019-12-23前言网上关于BIO和块设备读写流程的文章何止千万,但是能够让你彻底读懂读明白的文章实在难找,可以说是越读越糊涂!我曾经跨过山和大海也穿过人山人海我曾经问遍整个世界从来没得到答案本文用一个最简单的read(fd,buf,4096)的代码,分析它从开始读到读结束,在整个Linux系统里面波澜壮阔的一生。本文涉及到的代码如下:#include<unis
分类:
系统相关 时间:
2020-12-02 12:12:59
阅读次数:
8