随笔分类 - 网络编程
linux—epoll
摘要:一、epoll服务端实现中需要的3个函数: epoll_create:创建保存epoll文件描述符的空间。 epoll_ctl:向空间注册并注销文件描述符。 epoll_wait:与select函数类似,等待文件描述符发生变化。 二、示例 回声服务端: 1 #include <stdio.h> 2
阅读全文
windows—IOCP
摘要:一、重叠I/O回声服务器端 服务端: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <WinSock2.h> 4 5 #define BUF_SIZE 1024 6 void ErrorHandling(char *message); 7
阅读全文
windows重叠I/O模型
摘要:重叠I/O就相当于异步I/O。 一、重叠I/O的I/O完成确认 1、使用事件对象 接收端: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <WinSock2.h> 4 5 #define BUF_SIZE 1024 6 void Erro
阅读全文
windows异步通知I/O模型
摘要:回声服务器端: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <WinSock2.h> 4 5 #define BUF_SIZE 1024 6 void ErrorHandling(char *message); 7 void Compr
阅读全文
windows内核对象
摘要:一、内核对象 操作系统为了以记录相关信息的方式管理各种资源,在其内部生成数据块(可视为结构体变量)。当然,每种资源需要维护的信息不同,所以每种资源拥有的数据块格式也有差异。这类数据块称为“内核对象”。 内核对象就是为了管理线程、文件等资源而由操作系统创建的数据块,其创建者和所有者均为操作系统。 内核
阅读全文
I/O复用(select)——回声服务器端/客户端
摘要:一、select 使用select函数可以将多个文件描述符集中到一起统一监视,监视事件如下: 是否存在待读取数据。 是否可传输无阻塞传输数据。 是否发生异常。 将关心上述3种事件的文件描述发分别注册到对应参数(readfds,writefds,exceptfds)中去。 int select(int
阅读全文
回声UDP服务器端/客户端
摘要:UDP是具有数据边界的协议,传输中调用I/O函数的次数非常重要。输入函数的调用次数要和输出函数的调用次数完全一致,这样才能保证接受全部已发送的数据。 TCP套接字中需注册待传输数据的目标IP和端口,而UDP中无需注册。通过sendto函数传递数据的过程大约分为3个阶段:第1阶段:向udp套接字注册目
阅读全文
回声TCP服务器端/客户端
摘要:一、TCP服务端 1、TCP服务端的默认函数调用顺序 socket()创建套接字 bind()分配套接字地址 listen()等待请求连接状态 accept()允许连接 read()/write()数据交换 close()断开连接 2、进入等待连接请求状态 只有调用了listen函数,客户端才能进入
阅读全文
套接字
摘要:一、套接字 1、面向连接的套接字 传输特点: 传输过程中数据不会消失。 按序传输数据。 传输的数据不存在数据边界。 套接字连接必须一一对应(若要向10个客户端套接字提供服务,则除了守门的服务器套接字外,还需要10个服务器端套接字)。 收发数据的套接字内部有缓冲,简而言之就是字节数组。通过套接字传输的
阅读全文
浙公网安备 33010602011771号