首页 > 解决方案 > 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 不支持域套接字吗?

标签: gowindows-server-2008-r2unix-socket

解决方案


AF_UNIX 到 Windows

从 Insider Build 17063 开始,您将能够在 Windows 上使用 unix 套接字 (AF_UNIX) 地址系列在 Win32 进程之间进行通信。

因此,在 Windows 7 和 Windows Server 2008 等旧版本的 Windows 中,甚至在旧版本的 Windows 10 中,似乎都不支持它。


推荐阅读