[libkcp] Part 1: 会话层
来源:互联网 发布:source tree mac 编辑:程序博客网 时间:2024/06/11 16:44
sess.h以及sess.cpp中实现的UDPSession类实现了会话层的概念。
这里核心的几个接口分别是
/* * 1. 创建一个到远端的UDP套接字连接 * 2. 分配一个UDPSession类的新实例, 并填写相关内容(比如刚刚创建的套接字) */static UDPSession *Dial(const char *ip, uint16_t port);
/* * Read: 提供给上层用户的读API * 1. 先看下一层的KCP中是否有待读取数据,如果没有,直接返回; * 2. 如果有,并且能够正好放入用户提供的缓冲区中,那么从KCP中取数据到用户缓冲区中; * 3. 如果用户缓冲区过小的话,UDPSession类实例中提供了一个缓冲区, * 就可以把多出来的数据放在该缓冲区,填满用户提供的缓冲区。 */ssize_t Read(char *buf, size_t sz) noexcept;/* * Write: 提供给上层用户的写API * 1. 直接交给KCP提供的接口ikcp_send() */ssize_t Write(const char *buf, size_t sz) noexcept;
/* * 不同于前面说的Read、Write,都是由用户所调用的。 * 回调函数out_wrapper,将注册至KCP,由KCP所调用来向网络发送数据。 * 在未开启FEC的情况下,out_wrapper等同于普通的UDP send()函数。 * 但是,在开启FEC的情况下,out_wrapper会先作相应的FEC操作,然后再send数据。 * 所以,这里提供了FEC层的抽象。 */static int out_wrapper(const char *buf, int len, struct IKCPCB *kcp, void *user);
阅读全文
0 0
- [libkcp] Part 1: 会话层
- [libkcp] Abstract
- Part 1
- Part 1
- 会话层,表示层,应用层
- 会话层,表示层,应用层
- 会话层、表示层、应用层
- 小程序server-实现会话层
- 计算机网络 --osi传输层 会话层 表示层
- 大二层网络还是重建会话层
- OSI开放协议会话层的初步理解
- 应用层、表示层、会话层相关知识
- TCP/IP会话层以上的处理
- Atitit 会话层和表示层的异同
- Atitit 会话层和表示层的异同
- LESSON 1 -part 1
- Generic Types, Part 1
- Appfuse part 1
- JAVA 输入流 窗体 文本域 运行系统命令
- RESTful @Controller和@RestController使用
- 使用0x3f3f3f3f表示无穷大
- C/C++ | 27-18 n的无序数组,求排序算法,并且要求时间复杂度为O(n)
- Rails 文件存储
- [libkcp] Part 1: 会话层
- 二叉树遍历
- uva512心得
- git 项目中用到的命令
- ThreadPoolExecutor使用介绍
- HDU6055 Regular polygon(计算几何,2017 HDU多校联赛 第2场)
- 图书管理系统
- mysql(四)
- 线程安全、线程私有变量