在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是: 0 是一个文件描述符,表示标准输入(stdin) 1 是一个文件描述符,表示标准输出(stdout) (标准输出信息会在缓冲区暂存,信息满4K才输出) 2 是一个文件描述符,表示标准错误(stder ...
分类:
其他好文 时间:
2017-11-12 16:23:42
阅读次数:
145
1.选择(select)模型:选择模型:通过一个fd_set集合管理套接字,在满足套接字需求后,通知套接字。让套接字进行工作。避免套接字进入阻塞模式,进行无谓的等待。选择模型的核心的FD_SET集合和select函数。通过该函数,我们可以们判断套接字上是否存在数据,或者能否向一个套接字写入数据。2. ...
(6)lseek lseek和标准I/O库的fseek函数类似,可以移动当前读写位置(或者叫偏移量) #include <sys/types.h> #include <unistd.h> off_t lseek(int fd, off_t offset, int whence); 参数: fd 表示 ...
分类:
其他好文 时间:
2017-11-08 17:53:31
阅读次数:
168
CONN_BUFFER g_ConnBuffer[MAX_CONN_COUNT]; 所有的socketfd都放入g_ConnBuffer中,其中used标志其可用状态,read此fd前要检查之。 tail指向数据尾部,当处理完一个数据包,将包的最后位置到tail的数据拷贝到前面;与下次收到的包组合。 ...
分类:
其他好文 时间:
2017-11-07 01:29:59
阅读次数:
123
项目接入层用的模型是,主线程创建listenfd,传入6个子线程,每个子线程一个事件循环,epoll_wait这个listenfd。 如果是listenfd,则epoll_wait返回调用accept,其它fd则另外处理。 这里有个epoll_wait的惊群现象: 当一个新连接到达(connect) ...
分类:
其他好文 时间:
2017-11-07 00:19:03
阅读次数:
230
此时服务器端依然只能同时为一个客户服务,其客户来了,排队连接挂起 输出: 我要开始等电话了<socket.socket fd=300, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0. ...
分类:
其他好文 时间:
2017-11-05 18:32:59
阅读次数:
126
<?php $serv = new swoole_server("0.0.0.0", 9508); $serv->set(['worker_num'=>1, 'task_worker_num'=>5]); function onReceive($serv, $fd, $from_id, $data) ...
分类:
数据库 时间:
2017-11-03 15:18:31
阅读次数:
181
java里面有如下本地定义: private static native int setFilter(final int fd, final int[][] array_filter); c++中对应的函数如下: JNIEXPORT jint JNICALL Java_JniSocketCan_se ...
分类:
编程语言 时间:
2017-11-03 14:14:20
阅读次数:
338
关于read函数的返回值分析: 情况一:(读取普通文件而言) 01.阻塞情况 read函数从打开的设备或文件中读取数据。 read/write (read和write函数会读取\n换行) #include <unistd.h> ssize_t read(int fd, void *buf, size ...
分类:
其他好文 时间:
2017-11-01 20:29:03
阅读次数:
148
import turtle turtle.setup(0.5,0.75) turtle.fillcolor("red") turtle.begin_fill() turtle.left(90) turtle.penup() turtle.fd(100) turtle.pendown() turtle... ...
分类:
其他好文 时间:
2017-10-30 22:20:41
阅读次数:
230