Web Analytics
yangyang

码农兼一个普普通通小青年

tcp forward


实现一个TCP中继器

在之前实现端口转发的几种方法这篇文章中,介绍了三种实现端口转发的方法,本质就是建立一个TCP中继: tcpReplay.jpg  TCP中继 但要完整实现一个TCP转发或者代理(Tcp Relay),还是有很多细节需要考虑。在《Linux多线程服务端编程:使用muduo C++网络库》这本书中,作者提到了以下需要考虑的问题: 建立连接。TCPRelay在接受client的连接C之后才向server发起连接S,那么在S建立之前,从C收到的数据如何处理?要不要暂存起来? 并发连接的管理。上图中只画了一个client,实际上TcpRelay可以服务多个client,这两边的并发连接如何管理,如何防止串话(cross talk?) 连接断开。client和server都可能主动断开连接。当client主动断开连接C时,TcpRelay应该立刻断开S。当server主动断开连接S时, …

tcp forward TCPIP

  • 1