本帖最后由 jk8855 于 2012-07-13 13:39:38 编辑

解决方案 »

  1.   

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

  2.   

    不是没必要,而是必须,直接用TcpClient做不到。不然你写段代码出来?楼主你是写在什么地方的,这里要使用多线程来加速,往往一张图片就会卡住好一会,另外要设置超时,别等不到数据就一直等待了。
      

  3.   


    还有TcpClient做不到的,那C++怎么混啊...呵呵
      

  4.   

    我是一个请求开一线程代理,外面写个while(true)监听请求
      

  5.   

    我的意思是,不能简单几句代码就做到,HTTP协议要用TCP来模拟,这个难度不小,你给点示例?别光说不练啊。按理说这样就应该可以的了,我也和你水平差不多,没有多余的可教。
      

  6.   


    stream.write(buffer,0,buffer.length);
    这样写的话好像要传很久,不知道为什么,有得快有得慢,
      

  7.   

    是不是网络不稳定,ping的时候有没有丢包现象??
    方法上已经是最简单的代码了,看不出造成问题的环节。
      

  8.   


    大致已经发现了卡的原因了,是因为页面的请求里面存在代理无法加载的连接,例如图片请求不了,报404等,我在处理的时候直接就catch一个异常写入日志就玩了,忘记返回了,我用流返回应该怎么写?不然拿浏览器就一直在那里等,知道默认超时为止,那页面就一直卡在那里了。。我用流返回的话要怎么写?PS:我试过很多浏览器都这样,就不能加载多少就显示多少吗,这是个很多浏览器要改进的地方。
      

  9.   

    话说用httpwebrequest是不是慢了点?
      

  10.   

    你直接把404信息写回去嘛,保持原样,也可以直接将请求的流Close掉,不过那样对方也可能会以为和代理服务器断开了连接。
      

  11.   


    现在例如我监听80端口,获得stream,读取stream获得请求路径,怎么直接转发stream到请求的路径
      

  12.   

    你打算让楼主根据TcpClient去写上层的http协议?
      

  13.   

    问题时HTTP协议有多复杂啊,我真的晕了