簡體   English   中英

BSD套接字兼容包裝的Winsock嗎?

[英]BSD socket compatible wrapper around winsock?

我正在嘗試將Linux應用程序移植到Windows。 該應用程序不太復雜,使用所有相當標准的代碼,幾乎沒有外部依賴項。 主要依賴項是libelf(在mingw下可以很好地編譯),pthreads(似乎有可用的win32版本)和套接字。 主要問題是套接字... Windows提供了WinSock,但這與所有* nix所使用的BSD(Berkeley)套接字不是100%兼容。 我想知道的是,是否有人在Windows上編寫了一個包裝程序來公開BSD套接字API,卻在后端調用Winsock來簡化移植?

我建議使用cygwin.dll 它是為將* nixes移到Windows(包括套接字,文件IO等)而構建的。

在大多數情況下,您只需要確保在開始和結束時調用WSAStartup()和WSACleanup(),否則,基本的BSD套接字將轉換得很好。 您可以創建一些靜態全局變量,以對每個套接字調用的調用進行檢查,然后分別調用WSAStartup()和WSACleanup()。 至於poll()...好吧,它很容易轉換為select()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM