c++ - 使用 libuv 接收 UDP 数据包时如何知道目标地址和端口?

标签 c++ c network-programming udp libuv

uvlib UDP 接受以下类型的事件回调函数:

typedef void (*uv_udp_recv_cb)(uv_udp_t* handle,
                               ssize_t nread,
                               const uv_buf_t* buf,
                               const struct sockaddr* addr,
                               unsigned flags);

sent_to_addr 没有关于目标端口和地址的信息。有什么办法可以实现吗?

我需要它来了解在哪个接口(interface)上接收到数据包,或者了解多播组。套接字监听 0.0.0.0:xxxx

最佳答案

IP_PKTINFO有这样的信息,但 libuv 没有公开启用它的 API。

关于c++ - 使用 libuv 接收 UDP 数据包时如何知道目标地址和端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40728120/

相关文章:

用于多平台开发的 C++ API

c++ - C 和 C++ 之间的内存布局兼容性

c - 同时使用纹理和照明

c - 将指向 char 的指针转换为指向 int 的指针后出现意外的字节顺序

c - 如何在 Ubuntu 中查找默认代理设置

C++20:[[likely]]、[[unlikely]] 和 __builtin_expect 之间的区别?

c - 结构体/结构体值的内存分配

c++ - 读取多个(所有)未决数据报

python - 如何使用 dnspython 查询域的所有 IP

C++ 子类重载乘法运算符隐藏基重载解引用运算符