go - 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 不支持域套接字吗?
解决方案
从 Insider Build 17063 开始,您将能够在 Windows 上使用 unix 套接字 (AF_UNIX) 地址系列在 Win32 进程之间进行通信。
因此,在 Windows 7 和 Windows Server 2008 等旧版本的 Windows 中,甚至在旧版本的 Windows 10 中,似乎都不支持它。
推荐阅读
- python - 不是预期的 django 查询集响应
- html - 光标在视觉到达图标之前变成指针(手)
- javascript - 在 vue.js 的数组中使用获取的信息
- reactjs - S3 托管的 React 应用程序获得 405 Method Not Allowed
- azure-devops - 有没有办法在 Azure DevOps 中创建一组存储库?
- node.js - React - 如何检查项目中未使用哪些 npm 包
- html - 如何对齐网格中的列以独立于内容?
- multithreading - 使用模拟测试工作线程
- python - 使用广度优先搜索返回最短路径
- c++ - C++ 如何设置新的 MachineGuid