MCPcopy
hub / github.com/projectdiscovery/proxify / fullduplex

Method fullduplex

socket.go:187–200  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

185}
186
187func (p *SocketConn) fullduplex() {
188 //bidirectional copy
189 log.Printf("Opened %s >>> %s", p.lconn.LocalAddr(), p.rconn.RemoteAddr())
190 go p.pipe(p.lconn, p.rconn)
191 go p.pipe(p.rconn, p.lconn)
192 if p.Timeout > 0 {
193 p.lconn.SetDeadline(time.Now().Add(p.Timeout)) //nolint
194 p.rconn.SetDeadline(time.Now().Add(p.Timeout)) //nolint
195 }
196
197 //wait for close...
198 <-p.errsig
199 log.Printf("Closed (%d bytes sent, %d bytes received)", p.sentBytes, p.receivedBytes)
200}
201
202func (p *SocketConn) pipe(src, dst io.ReadWriter) {
203 islocal := src == p.lconn

Callers 1

ProxyMethod · 0.80

Calls 1

pipeMethod · 0.95

Tested by

no test coverage detected