C# Proxy using Sockets, how should I do this?

Posted by Kin on Stack Overflow See other posts from Stack Overflow or by Kin
Published on 2010-04-12T09:02:58Z Indexed on 2010/04/12 11:53 UTC
Read the original article Hit count: 308

Filed under:
|
|
|
|

I'm writing a proxy using .NET and C#. I haven't done much Socket programming, and I am not sure the best way to go about it. What would be the best way to implement this? Should I use Synchronous Sockets, Asynchronous sockets? Please help!

It must...

  • Accept Connections from the client on two different ports, and be able to receive data on both ports at the same time.
  • Connect to the server on two different ports, and be able to send data on both ports as the same time.

  • Immediately connect to the server and start forwarding packets as soon as a client connection is made.

  • Forward packets in the same order they were received.

  • Be as low latency as possible.

  • I don't need the ability for multiple clients to connect to the proxy, but it would be a nice feature if its easy to implement.

Client --------- Proxy ------- Server
---|-----------------|----------------|
Port <--------> Port <-------> Port
Port <--------> Port <-------> Port

© Stack Overflow or respective owner

Related posts about c#

Related posts about sockets