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协议有多复杂啊,我真的晕了 System.Uri 是做什么的,有哪些用法 急请教:文本框的内容改变的事件 怎样在XML用&字符 数组的问题(在线等)谢谢 怎样才能使一段代码在执行时互斥,还有怎样锁定一个变量的访问? 怎么使得点TabControl属性标签而不改变属性页. c#子类重写父类某个protected成员的方法问题 我在使用DataAdapter.Update()函数的问题. 救命啊,不能新建项目 请教 请教一个队列的问题 求帮助,webkit内核的浏览器
还有TcpClient做不到的,那C++怎么混啊...呵呵
stream.write(buffer,0,buffer.length);
这样写的话好像要传很久,不知道为什么,有得快有得慢,
方法上已经是最简单的代码了,看不出造成问题的环节。
大致已经发现了卡的原因了,是因为页面的请求里面存在代理无法加载的连接,例如图片请求不了,报404等,我在处理的时候直接就catch一个异常写入日志就玩了,忘记返回了,我用流返回应该怎么写?不然拿浏览器就一直在那里等,知道默认超时为止,那页面就一直卡在那里了。。我用流返回的话要怎么写?PS:我试过很多浏览器都这样,就不能加载多少就显示多少吗,这是个很多浏览器要改进的地方。
现在例如我监听80端口,获得stream,读取stream获得请求路径,怎么直接转发stream到请求的路径