【发布时间】:2013-11-04 01:30:37
【问题描述】:
对于 C++ 的 Winsock 是否有任何可行的替代方案?我需要的原因是因为 Winsock 的原始套接字行为不正常(不,这是不可修复的,不要浪费您的时间询问)并且 WinPCAP 只能监控网络流量,而不是实际接收数据包。我需要可以接收完整数据包的东西,包括任何 IP、UDP、TCP 标头等。这样的东西是否存在,如果不存在,为什么不存在?
【问题讨论】:
-
我会浪费时间问:为什么它不适合你?如果您要声称 [适用于其他所有人的产品] 不起作用,那么您应该至少花一两句话来支持它。
-
解释时间太长,会引出更多问题。
-
你是对的 - 它通常会导致更多问题,而且大多数时候(尤其是当 OP 没有预先解释他们的情况时)它会导致我们发现他们没有使用 [有效的产品其他人] 正确。以几乎所有“我认为我在 GCC 中发现错误”的帖子为例。因此,我问了浪费时间的问题。
-
如果你的 Winsock 实现真的被破坏了,那么我担心你是个不错的朋友。我推荐了 Boost.Asio,但如果 WS32 真的 不起作用,那么它也会被破坏。
-
其实我会尝试:对winsock的socket函数使用不同的参数要么导致我的应用程序不接收任何数据包(sock_raw,ipproto_raw),导致我创建的所有套接字接收相同的数据包(sock_raw, ipproto_udp) 或功能正常但不接收标头 (sock_dgram, ipproto_udp)