猿问

Unix 域套接字上的 net.Listen() 在 Windows Server 2008 上失败

我正在使用域套接字(gRPC)在进程之间交换数据,以下代码:


rpcListener, err = net.Listen("unix", "path\\to\\my\\uds.sock")

if err != nil {

    l.Errorf("start gRPC server failed: %s", err)

    return

}

将抛出以下错误


start gRPC server failed: listen unix path\to\my\uds.sock: socket: An address incompatible with the requested protocol was used.

在 Windows 10 上,这工作正常,是 windows-server-2008/windows-7 不支持域套接字吗?


golang net 包上列出了错误,但仅指出Windows,而不是特定的 windows 版本。


MSDN列出了错误:WSAEAFNOSUPPORT


这里还有一个 C# 相同的错误线程


慕标5832272
浏览 248回答 1
1回答

胡说叔叔

从AF_UNIX 到 Windows :从 Insider Build 17063 开始,您将能够在 Windows 上使用 unix 套接字 (AF_UNIX) 地址系列在 Win32 进程之间进行通信。因此,在 Windows 7 和 Windows Server 2008 等旧版本的 Windows 中,甚至在旧版本的 Windows 10 中,似乎都不支持它。
随时随地看视频慕课网APP

相关分类

Go
我要回答