英文:
Named Pipes in Go for both Windows and Linux
问题
我是你的中文翻译助手,以下是你要翻译的内容:
我刚开始学习Go语言,我想在Go中创建一个在Windows和Linux上都能工作的命名管道实现。
我已经成功在Ubuntu上运行了代码,但是在Windows上却不起作用。
在Go中没有任何抽象层可以让你在这两个环境下使用命名管道吗?
以下是我代码的一部分:
// 创建管道:在Windows上不起作用
syscall.Mkfifo("tmpPipe", 0666)
// 打开管道进行写入
file, err1 := os.OpenFile("tmpPipe", os.O_RDWR, os.ModeNamedPipe)
// 打开管道进行读取
file, err := os.OpenFile("tmpPipe", os.O_RDONLY, os.ModeNamedPipe)
任何帮助或指导都将非常有帮助。谢谢!
英文:
I am new to Go, I want to create Named Pipes implementation in Go which works on both Windows and Linux.
I managed to get the code working on Ubuntu, but this one does not work on Windows
Isn't there any abstraction in Go which allows you to work with Named Pipes in both environment
Below is piece of my code
//to create pipe: does not work in windows
syscall.Mkfifo("tmpPipe", 0666)
// to open pipe to write
file, err1 := os.OpenFile("tmpPipe", os.O_RDWR, os.ModeNamedPipe)
//to open pipe to read
file, err := os.OpenFile("tmpPipe", os.O_RDONLY, os.ModeNamedPipe)
Any help or pointers would help a lot. Thanks
答案1
得分: 10
根据https://github.com/golang/go/issues/3599:
nate的软件包看起来很好,任何人都可以使用"go get"获取它。
一个纯Go编写的Windows命名管道实现:
https://github.com/natefinch/npipe
这个项目启发了(用于Go的Win32 IO相关工具):
https://github.com/Microsoft/go-winio
英文:
According to https://github.com/golang/go/issues/3599
> nate's package looks nice, and anyone can "go get" it.
A Windows named pipe implementation written in pure Go:
https://github.com/natefinch/npipe
Which has inspired (Win32 IO-related utilities for Go):
https://github.com/Microsoft/go-winio
答案2
得分: 4
这是一个来自Microsoft的用于Windows的Go语言命名管道的实现:
https://github.com/Microsoft/go-winio
英文:
There is an implementation of named pipes for Windows in Go from Microsoft:
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论