在C#中创建一个简单的代理转发服务器

时间:2010-12-07 08:10:18

标签: c# proxy

我想做的就是将每个请求转发到我的服务器和端口,同一个服务器和一个不同的端口,并可选择添加一个标头。

就是这样。是否有一个非常简单的C#程序我可以编写,只需要从这里获取字节并将它们推送到另一个端口,与响应相同,只是将其抛给客户端?

1 个答案:

答案 0 :(得分:2)

Luigi Auriemma的

sTCPPipe是一个非常简单的C ++ TCP管道实现,可以完全满足您的需求,但不允许添加额外的头文件。

对于执行HTTP标头检查并充当代理而不仅仅是简单隧道的C#实现,请查看Mentalis proxy project。您可以轻松地修改它以将所有请求定向到一个地址而不是HTTP主机头中指定的地址,但源是委托意大利面。

或者您可以自己编写一个TcpListener来监听,端口8080,并且在接受连接后连接到另一个主机(使用不同的套接字)并中继两者之间的所有流量。如果您不使用非阻塞套接字,则需要使用几个线程来实现此目的。

如果它用于商业用途,那么编写代理的挑战是确保它是可靠的并且能够承受所有类型的缓冲区溢出攻击。