如何解决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网络软件包上有bugs listing,但仅指出
Windows
,而不是特定的Windows版本。 -
还有一个C#错误线程here
解决方法
从Insider Build 17063开始,您将能够使用Windows上的unix套接字(AF_UNIX)地址族在Win32进程之间进行通信。
因此,在Windows 7和Windows Server 2008等旧版Windows中,甚至在Windows 10的旧版本中,似乎都不支持它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。