tcp流量转发到不同的后端

jiangyd · 2022-09-21 18:01:22 · 2477 次点击

我只取第一个回复的数据,这样试了下不行,会报错,

        i := make([]io.Writer, 3)
    for _, dst_conn := range tcp_conn {
        i = append(i, dst_conn)
    }
    mm := io.MultiWriter(i...)
    go io.Copy(mm, conn)
    go io.Copy(conn, tcp_conn[0])
#4
更多评论

某个协程io.Copy之后相当于读完了流,另外的协程当然读不到数据了,你需要修改代码,每次读取[]byte,然后再每个连接Write([]byte)

#1

代码如何写啊,不用io.copy了吗

#2