我试图利用Windows中的socket.h函数。实际上,我正在查看
http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#datagram的示例代码。我理解socket.h是一个Unix函数 – 无论如何,我可以在编译此示例代码时轻松模拟该环境?不同的IDE /编译器是否会改变任何东西?
否则,我想我需要使用虚拟化的Linux环境,这可能是最好的,因为代码最有可能在UNIX环境中运行。
谢谢。
你有两个选择:
>使用Cygwin(Unix仿真库)。
> Port to Winsock(Windows标准库)。
第一个选项允许您编译您的Unix源大部分不受影响,但将您绑定到Cygwin仿真库(这意味着运行时的两件事情:一般性能 – 不仅仅是网络 – 可能会不太优化;并且运行环境必须具有Cygwin DLL可用)。第二种方法要求您用winsock2.h替换sys / socket.h(BSD套接字库,TCP / IP协议栈的UNIX标准),并重写代码的某些部分 – 不过很多。
一些有价值信息的相关问题:
Differences between winsock and BSD socket implementations
Some Issues About Cygwin[Linux in Windows] (socket,thread,other programming and shell issues)