C# 写web代理服务器慢,请教技术问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11 本帖最后由 jk8855 于 2012-07-13 13:39:38 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接操作socket,用TcpClient就可以,用HttpRequest感觉没必要,多余的开销 不是没必要,而是必须,直接用TcpClient做不到。不然你写段代码出来?楼主你是写在什么地方的,这里要使用多线程来加速,往往一张图片就会卡住好一会,另外要设置超时,别等不到数据就一直等待了。 还有TcpClient做不到的,那C++怎么混啊...呵呵 我是一个请求开一线程代理,外面写个while(true)监听请求 我的意思是,不能简单几句代码就做到,HTTP协议要用TCP来模拟,这个难度不小,你给点示例?别光说不练啊。按理说这样就应该可以的了,我也和你水平差不多,没有多余的可教。 stream.write(buffer,0,buffer.length);这样写的话好像要传很久,不知道为什么,有得快有得慢, 是不是网络不稳定,ping的时候有没有丢包现象??方法上已经是最简单的代码了,看不出造成问题的环节。 大致已经发现了卡的原因了,是因为页面的请求里面存在代理无法加载的连接,例如图片请求不了,报404等,我在处理的时候直接就catch一个异常写入日志就玩了,忘记返回了,我用流返回应该怎么写?不然拿浏览器就一直在那里等,知道默认超时为止,那页面就一直卡在那里了。。我用流返回的话要怎么写?PS:我试过很多浏览器都这样,就不能加载多少就显示多少吗,这是个很多浏览器要改进的地方。 话说用httpwebrequest是不是慢了点? 你直接把404信息写回去嘛,保持原样,也可以直接将请求的流Close掉,不过那样对方也可能会以为和代理服务器断开了连接。 现在例如我监听80端口,获得stream,读取stream获得请求路径,怎么直接转发stream到请求的路径 你打算让楼主根据TcpClient去写上层的http协议? 问题时HTTP协议有多复杂啊,我真的晕了 visual studio2005的添加引用失败的问题! 请进来看看,一个比较复杂的关于日期的方法,谢谢 送分的帖子~ 如何向access数据库Ole字段写入空值 请教:关于调用自己写的程序的问题 是把基础理论都搞懂了再写代码呢还是仅知道个大概,边写边查帮助?哪个学习方式好? 用OleDbCommand如何执行一个带参数的存储过程? 新手小問題。 请问,如何调用通过Assembly.LoadFrom方式加载的程序集中的窗体类? vs.net的正式斑和beta版到底有什么区别啊 请教一个队列的问题 求帮助,webkit内核的浏览器
还有TcpClient做不到的,那C++怎么混啊...呵呵
stream.write(buffer,0,buffer.length);
这样写的话好像要传很久,不知道为什么,有得快有得慢,
方法上已经是最简单的代码了,看不出造成问题的环节。
大致已经发现了卡的原因了,是因为页面的请求里面存在代理无法加载的连接,例如图片请求不了,报404等,我在处理的时候直接就catch一个异常写入日志就玩了,忘记返回了,我用流返回应该怎么写?不然拿浏览器就一直在那里等,知道默认超时为止,那页面就一直卡在那里了。。我用流返回的话要怎么写?PS:我试过很多浏览器都这样,就不能加载多少就显示多少吗,这是个很多浏览器要改进的地方。
现在例如我监听80端口,获得stream,读取stream获得请求路径,怎么直接转发stream到请求的路径