推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

libevent的UDP支持基于事件的非阻塞UDP.docx

更新时间:2026-10-09 20:23:46 大小:37K 上传用户:江岚查看TA发布的资源 标签:libeventUDP非阻塞事件驱动网络编程 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

libevent 的 UDP 支持:基于事件的非阻塞 UDP

不只是 TCP

libevent 不只支持 TCP,也支持 UDP。UDP 是无连接、不可靠的传输协议,适合实时性要求高、可容忍丢包的场景,比如视频、音频、游戏。

libevent 对 UDP 的支持,同样是事件驱动的。这篇文章讲如何用 libevent 处理 UDP 通信。

UDP 与 TCP 的区别

UDP 和 TCP 有本质区别,这影响编程方式。

TCP 是面向连接的、可靠的、字节流的。需要建立连接,数据按序到达。

UDP 是无连接的、不可靠的、数据报的。不需要建立连接,数据以报文为单位,可能丢失、乱序、重复。

libevent 对两者的处理方式也不同。TCP 用 evconnlistener 监听、bufferevent 管理连接;UDP 没有连接概念,直接绑定端口收发数据报。

用 libevent 做 UDP

用 libevent 做 UDP,关键是创建 socket 并绑定端口。

创建 UDP socket(SOCK_DGRAM),bind 到本地地址和端口。然后用 event_new 注册这个 socket 的可读事件,绑定读回调。

当有 UDP 数据报到达时,读回调触发,用 recvfrom 接收数据。

UDP 没有连接的概念,一个 socket 就能和多个对端通信。


部分文件列表

文件名 大小
libevent的UDP支持基于事件的非阻塞UDP.docx 37K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载