0
我一直在写一个Go服务器,充当Node.js块的子进程。如何在Windows上使用文件描述符4(或其等价物)?
package main
import (
"bufio"
"encoding/json"
"fmt"
"os"
)
// IPC delimiter
const EOT byte = 3
func main() {
// Listen on stdin for messages sent from the parent process.
reader := bufio.NewReader(os.Stdin)
for {
input, err := reader.ReadString(EOT)
if err != nil {
fmt.Printf("sockets: failed to read from stdin: %v", err)
if err == io.EOF {
return
}
continue
}
// Strip EOT bye
input = input[:len(input) - 1]
var payload Payload
if err := json.Unmarshal([]byte(input), &payload); err != nil {
fmt.Printf("sockets: failed to read from stdin: %v", err)
continue
}
}
}
然而,使用标准输入/输出这样防止了这种片的代码从能够登录到控制台,作为父进程正在使用stdouts处理。理想情况下,我会使用文件描述符4来获取Node的使用方式,只有问题在于我对Windows的基本细节毫无头绪。我怎么能够在Windows上使用/ dev/fd/4等效(如果有的话)IPC?
PS:如果有更好的方式来处理从标准输入读数,这也会帮助我很多。
是否有应该放在或常用的任何特定的目录? – kpimov
你问这个名字吗?我真的不知道名称是否意味着什么。试着把它留空,看看会发生什么。 –