private void Connect(EndPoint srcEndPoint, Socket dstEndPoint) { var state = new ForwardStruct(sock, dstEndPoint); sock.Connect(srcEndPoint); sock.BeginReceive(state.Buf, 0, state.Buf.Length, SocketFlags.None, OnDataReceive, state); }
public void Start(IPEndPoint lEndPoint, IPEndPoint rEndPoint) { sock.Bind(lEndPoint); sock.Listen(10); while (true) { Socket src = sock.Accept(); SimpleTcpForwarder dst = new SimpleTcpForwarder(); ForwardStruct state = new ForwardStruct(src, dst.sock); dst.Connect(rEndPoint, src); src.BeginReceive(state.Buf, 0, state.Buf.Length, 0, OnDataReceive, state); } }