【发布时间】:2017-01-08 06:53:38
【问题描述】:
我正在尝试用 python 实现一个 tcp 代理,
所以我需要直接连接两个socket,在两者之间传递输入和输出。
在 golang 中,我只是简单地做了一个io.Copy,在 Python 2.6 中相当于什么?
go func() {
defer conn1.Close()
defer conn2.Close()
io.Copy(conn1, conn2)
}()
【问题讨论】:
-
shutil.copyfileobj和socket.socket.makefile。 -
@NizamMohamed 你能举个例子吗?
-
@NizamMohamed 对我不起作用,
shutil.copyfileobj(sock1.makefile(), sock2.makefile()) -
澄清什么是“tcp 代理”以及它适合的位置。在 TCP 中,一端启动连接(客户端),另一端接收(服务器)。你说的是哪一端?