使用 MsDev 将 linux 套接字应用程序移植到 Windows
Posted
技术标签:
【中文标题】使用 MsDev 将 linux 套接字应用程序移植到 Windows【英文标题】:Porting linux socket application to windows usins MsDev 【发布时间】:2009-11-20 17:17:24 【问题描述】:是否有可用于编译 linux 套接字应用程序的公开可用的头文件(使用 socket/udp/ip 头文件)。他们应该定义像 sa_family_t,in_port_t 这样的结构
强制是使用 Msdev 而不是 cygwin/gcc 或 mingw 编译器。
【问题讨论】:
【参考方案1】:您可以使用标准 Win32 API 中的 winsock.h 或 winsock2.h 中声明的结构和函数。与标准 BSD 实现存在一些差异,但对于简单的基于套接字的应用程序,端口应该相对简单。
【讨论】:
我不知道...似乎有很多东西需要重新定义,例如 struct ip、struct udphdr、sa_family_tin_port_t ...它们在 win32 中都丢失了。可能应用程序毕竟不是那么简单。 您将遇到的主要问题是 Windowsselect
调用仅适用于套接字,而 UNIX 应用程序通常依赖于能够将其他文件描述符传递给 select
。【参考方案2】:
据我所知,没有简单的方法可以做到这一点。 Windows 提供了一组与 linux 完全不同的系统调用,以及处理套接字的不同方法。
【讨论】:
以上是关于使用 MsDev 将 linux 套接字应用程序移植到 Windows的主要内容,如果未能解决你的问题,请参考以下文章