日期:2014-05-18  浏览次数:21026 次

C# 写web代理服务器慢,请教技术问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11
如果用先接受stream 然后用代理httpwebrequest发送,再把用httpwebresponse接受,然后再用stream.write写回,这样觉得很慢,如果是浏览有些页面也没什么问题,但是有些页面浏览返回很慢,不知道什么原因,我产看了一下浏览器返回的html代码,没返回完全,不知道什么原因,

各位看看我这个思路对不对,或者是我用的类用错了,

而且我这里还需要对页面添加一些内容的,就是例如能在163.com页面能添加自己的广告。


PS:你们说路由器也是代理请求的啊,那么小的东西怎么性能这么好?他们的原理是什么?

------解决方案--------------------
直接操作socket,用TcpClient就可以,用HttpRequest感觉没必要,多余的开销
------解决方案--------------------
还有,socket要走异步
------解决方案--------------------
探讨

直接操作socket,用TcpClient就可以,用HttpRequest感觉没必要,多余的开销

------解决方案--------------------
探讨

引用:

直接操作socket,用TcpClient就可以,用HttpRequest感觉没必要,多余的开销

不是没必要,而是必须,直接用TcpClient做不到。不然你写段代码出来?

楼主你是写在什么地方的,这里要使用多线程来加速,往往一张图片就会卡住好一会,另外要设置超时,别等不到数据就一直等待了。

------解决方案--------------------
探讨
还有TcpClient做不到的,那C++怎么混啊...呵呵

------解决方案--------------------
是不是网络不稳定,ping的时候有没有丢包现象??
方法上已经是最简单的代码了,看不出造成问题的环节。
------解决方案--------------------
你直接把404信息写回去嘛,保持原样,也可以直接将请求的流Close掉,不过那样对方也可能会以为和代理服务器断开了连接。
------解决方案--------------------
探讨

引用:

引用:

直接操作socket,用TcpClient就可以,用HttpRequest感觉没必要,多余的开销

不是没必要,而是必须,直接用TcpClient做不到。不然你写段代码出来?

楼主你是写在什么地方的,这里要使用多线程来加速,往往一张图片就会卡住好一会,另外要设置超时,别等不到数据就一直等待了。


还有TcpClie……

------解决方案--------------------
问题时HTTP协议有多复杂啊,我真的晕了