,在编程网络通信然后使用Winsock时还有其他选择吗? c ++有很多套接字库,它们都只是基于winsock的吗?
答案 0 :(得分:1)
您可以考虑使用boost::asio
。 Boost非常棒,设计精良。它的许多部分已经进入C ++ 0x。您需要静态链接到lib或dll(它不是仅标题模板库)
Winsock是从BSD接管的Windows的套接字(除了closesocket
vs close
以及子系统的初始化/终止之外,实际上完全相同的API。 Win API本身没有WSAxxx
函数的更现代的API。 C ++是套接字不知道,直到现在,这意味着为了做网络,你必须使用OS API,因此Winsock。没有其他低级API。
如果您尝试监控流量,为什么不使用WinPCAP?
答案 1 :(得分:0)
还有其他编程网络通信的方法,它们不使用Winsock:例如,使用网络文件系统(共享文件)或使用命名管道。
软件也可以绕过Winsock(这是一个Windows用户模式的DLL),甚至可以绕过TCP / IP流量,而是直接与内核模式驱动程序接口。