无法在VS2008中打开套接字程序头

Unable to open the socket program header in VS2008

本文关键字:套接字 程序 VS2008      更新时间:2023-10-16

idevs.h、netinet/in_systm.h、netinet/ip.h、netnet/tcp.h openssl/ssl.h sys/socket.h

这些头文件可以在Linux中工作,但在visualstudio2008中,编译错误显示无法打开头文件。这些是与套接字程序相关的头。(我无法从网络搜索中获得任何正确的结果)

问题:

请让我知道我为这些标头包含的任何dll,或者有任何其他等效标头可用?

提前谢谢。

在windows环境中,您需要包括特定于windows的头文件,如winsock.h和其他(http://msdn.microsoft.com/en-us/library/windows/desktop/ms738545(v=vs.85).aspx)。在为不同平台进行构建时,需要使用#ifdef语句在标头之间切换。

从来没有人承诺过套接字概念的windows实现与Unix的实现是100%相同的。这些实现有很多共同点,但也存在差异。

套接字不是C++标准的一部分,在Linux和Windows中以不同的方式实现。这意味着,两个操作系统中的原生套接字库不同,Windows的套接字API有其他头,而不是Linux。因此,您不仅需要包含其他标头,还可能需要使用其他函数。

根据您想要实现的目标,您可能希望使用一个库来封装特定于操作系统的部分并提供可移植的接口。有几个或多或少可移植的网络库,其中最著名的可能是Boost.Asio