
网络
文章平均质量分 64
ashleycoder
音视频、流媒体开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DTLS、ICE--用janus举例
服务器janus的sdp是a=setup:active,sdp type是answer,音视频一样。a=setup:actpass:作为客户端,主动发送协商。作为服务端,等待协商。客户端的sdp是a=setup:actpass,sdp type是offer。客户端先发Client Hello,作为DTLS Client,主动发送协商。a=setup:active:作为客户端,主动发送协商。a=setup:passive:作为服务端,等待协商。TRUN:在STUN上,加了中继功能,即转发功能。原创 2022-09-07 20:29:49 · 1240 阅读 · 0 评论 -
epoll模型要点总结
6 epoll惊群(指在accept下):多个线程或多进程等待同一事件,比如accept,系统会唤醒所有线程,但只有一个线程得到该事件,导致效率低。会设置回调函数ep_poll_callback,把pwq->wait(等待队列)跟socket的等待队列关联起来。网卡有事件到来,直接插入到rdllist中,所以epoll不需要像select一样遍历事件。4 LT水平模型,默认的,数据没有读完,epoll_wait还能读到数据。9 sock有poll函数,需要实现,如tcp_poll、udp_poll。原创 2023-01-29 20:40:04 · 655 阅读 · 1 评论 -
BBR学习笔记--什么是BBR、可调整的参数
Reno、Cubic都是基于丢包的拥塞控制算法,Cubic适用场景是高带宽的,但现在丢包不一定是发生拥塞了,比如Bufferbloat(缓冲区膨胀),路由器的缓冲区满了的丢包。原创 2022-10-08 17:59:46 · 1531 阅读 · 0 评论 -
epoll源码学习记录
【代码】epoll源码学习记录。原创 2022-09-26 20:46:06 · 356 阅读 · 0 评论 -
ZLToolKit网络库的自问自答
用户操作:比如addEvent即EPOLL_CTL_ADD等,在当前线程,放到_event_map。不是当前线程,切换到属于它的线程,在runLoop,回调该IO事件。在当前线程,直接处理task,否在放到 _list_task。疑问:一台服务器的IO事件不是固定的吗?1 一个线程一个epoll,还是共用1个epoll?work poller线程个数太多了,是cpu的个数。6 ioctl设置非阻塞,对那些函数起作用?使用epoll+线程池+异步网络IO模式开发。一个线程一个epoll。原创 2022-09-17 15:53:38 · 527 阅读 · 0 评论