【问题标题】:Porting linux socket application to windows usins MsDev使用 MsDev 将 linux 套接字应用程序移植到 Windows
【发布时间】:2009-11-20 17:17:24
【问题描述】:

是否有可用于编译 linux 套接字应用程序的公开可用的头文件(使用 socket/udp/ip 头文件)。他们应该定义像 sa_family_t,in_port_t 这样的结构

强制是使用 Msdev 而不是 cygwin/gcc 或 mingw 编译器。

【问题讨论】:

    标签: c++ windows linux sockets porting


    【解决方案1】:

    您可以使用标准 Win32 API 中的 winsock.h 或 winsock2.h 中声明的结构和函数。与标准 BSD 实现存在一些差异,但对于简单的基于套接字的应用程序,端口应该相对简单。

    【讨论】:

    • 我不知道...似乎有很多东西需要重新定义,例如 struct ip、struct udphdr、sa_family_tin_port_t ...它们在 win32 中都丢失了。可能应用程序毕竟不是那么简单。
    • 您将遇到的主要问题是 Windows select 调用仅适用于套接字,而 UNIX 应用程序通常依赖于能够将其他文件描述符传递给 select
    【解决方案2】:

    据我所知,没有简单的方法可以做到这一点。 Windows 提供了一组与 linux 完全不同的系统调用,以及处理套接字的不同方法。

    【讨论】:

      最近更新 更多