将套接字连接到Stdin / Stdout的最佳方法是什么。我知道我们可以将stdin / Stdout重定向到任何文件描述符,但我们如何才能对套接字执行相同的操作。 (就像socat的工作方式)?
答案 0 :(得分:3)
Go中的套接字类型实现了io.Writer
接口,os.Stdin
实现了io.Reader
,所以我的第一个猜测就是尝试bufio.Writer
。它可能看起来像:
package main
import (
"bufio"
"os"
)
func main() {
socket := getSocket() // left as an exercise for you to implement
writer := bufio.NewWriter(socket)
writer.ReadFrom(os.Stdin)
// do something to determine when to stop
}