2016-09-09 3 views
5

Я новичок в Go, я хочу создать реализацию Named Pipes в Golang, которая работает как на Windows, так и на Linux.Именованные каналы в Go для Windows и Linux

мне удалось получить код, работающий на Ubuntu, но это одна не работает на Windows,

Не существует какой-либо абстракции в Go, которая позволяет работать с Named Pipes и в среде

Ниже является частью моего кода

//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) 

Любая помощь или указатели помогут вам. Благодаря

ответ

7

Согласно пакету https://github.com/golang/go/issues/3599

Нейта выглядит красиво, и любой желающий может "пойти получить" Это.

под управлением Windows с именем реализация труб написан на чистом Go:
https://github.com/natefinch/npipe

Который вдохновил (Win32 IO-связанные утилиты для Go):
https://github.com/Microsoft/go-winio