c++ - 接收整个 UDP 数据包

标签 c++ windows sockets packet

我正在用 C++ 为 Windows 编写一个 UDP 代理应用程序,它使用 Winsock 发送和接收 UDP 数据包。问题是我需要处理整个数据包,而不仅仅是数据和 UDP 和/或 IP header 。我已经尝试使用 IP_HDRINCL 的原始套接字(可能拼写错误),但它仍然从数据包中删除了一些信息。如果在 winsock 中不可能,是否有某种库或其他东西可以让我完成此任务?

最佳答案

用于接收数据包,WinPCAP将使您完成所有这些以及更多操作,并且有示例代码 here它显示了如何捕获到达接口(interface)的所有数据包。

关于c++ - 接收整个 UDP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3486424/

相关文章:

java - 内存分配究竟是如何进行的,Java 和 C 如何交互以跟踪同一个对象?

python - CPP 调用比 Python 接口(interface)调用慢

windows - 一个环境中的Python多行cmd条目

c - 从c中的套接字读取所有字节

linux - 在没有服务器调用 'connect' 的情况下,套接字上的 'accept' 调用能否成功返回?

C++ std::string length() 或 size() 不适用于方法参数

c++ - 在指向 vector 的智能指针上使用 push_back() 时出现运行时错误

c++ - 如何通过ROS将真实感数据传输到其他设备

c++ - 确定与 COM RPC 服务器通信的客户端进程的进程 ID

sockets - SO_EXCLUSIVEADDRUSE 和 SO_REUSEADDR 混淆