9

我有一個應用程序,我希望在Windows上使用。我正在使用AF_UNIX系列的un windows。我希望知道AF_UNIX系列在Windows中可用。如果沒有,那麼是否有任何AF_UNIX的備用?AF_UNIX在windows

感謝 Arpit

+2

我不是100%確定AF_UNIX的用途,但是如果它用於進程間通信,Windows可以使用綁定到localhost的AF_INET套接字來執行高效的進程間通信。在這種情況下,windows會檢測到套接字指向另一個本地進程並快速切換通信堆棧,使用LRPC進行數據傳輸(使用內存映射文件在進程之間進行緩衝區零拷貝移動)。 – 2010-10-06 14:16:55

+1

用兩個詞來表示:命名管道。 – ninjalj 2010-10-06 22:10:40

回答

9

只需使用TCP套接字,他們表現得非常像Unix套接字。

或者您可以使用命名管道並使用WaitForMultipleObjects()而不是select()poll()。 Windows命名管道與UNIX中的命名管道不太相似。 Windows命名管道是雙向的,因此更像是UNIX中的命名管道而不是AF_UNIX套接字。

0

Windows不支持Unix域套接字,也不提供使用套接字API的好選擇。您應該在Windows上使用TCP套接字 - 如果您想要類似於AF_UNIX套接字的東西,請將服務器綁定到本地主機。根據您的問題,TCP的開銷可以忽略不計。