
网络编程
文章平均质量分 73
CountNode
这个作者很懒,什么都没留下…
展开
-
EPOLL源码
在创建 epitem 并初始化之后,ep_insert 中第二件事情就是设置 socket 对象上的等待任务队列。并把函数 fs/eventpoll.c 文件下的 ep_poll_callback 设置为数据就绪时候的回调函数。在 ep_ptable_queue_proc 函数中,新建了一个等待队列项,并注册其回调函数为 ep_poll_callback 函数。然后再将这个等待项添加到 socket 的等待队列中。当有的连接就绪的时候,内核会把就绪的连接放到 rdllist 链表里。wq: 等待队列链表。原创 2022-10-27 16:18:15 · 1470 阅读 · 1 评论 -
C++回调
回调是一个调用函数的过程,涉及两个角色:计算和数据。调用者 先存储 回调函数,在未来的某个 调用时刻,取出并调用 回调函数。捕获了上下文的回调函数就成为了闭包,即 闭包 = 函数 + 上下文。未绑定 (unbound) 的数据,即执行回调时需要额外传入的数据。qsort中所有compare执行完毕,调用结束,被称为同步回调。对于 同步回调,上下文的 生命周期往往比闭包长,一般不失效。调用者 立即调用 回调函数(调用时刻 在函数返回前)绑定 (bound) 的数据,即回调的 上下文。原创 2022-10-27 16:15:50 · 497 阅读 · 0 评论 -
网络编程——TCP网络编程中可能的问题
TTCP协议ECHO的设计问题TCP自连接服务端不调用accept原创 2022-10-20 16:44:43 · 666 阅读 · 0 评论