TCP Over HTTP 的Buffer问题

记录下备忘。

场景:要把TCP拆成一个个HTTP请求,通过Proxy

1、HTTP Client上载数据到CCProxy ,然后再到Web服务器的时候。 如果数据量比较小,例如10个字节,Proxy就会等着到一定的数据才向Web服务器发送。

也可能不同的代理服务器实现会有不同。

那么就没办法重用这个Upload做数据传输了,需要每次开一个新的HTTPSession。

不通过CCProxy,直接连到Web服务器上就没这个问题。所以应该不是Client和Server的问题,而是CCProxy的实现问题。

2、下载的时候CCProxy 可以实时把数据发送给Client。但是Fiddler不行,会先做Buffer。

https://github.com/larsbrinkhoff/httptunnel

http://metalab.unc.edu/LDP/HOWTO/mini/Firewall-Piercing.html

时间: 2024-10-10 23:40:00

TCP Over HTTP 的Buffer问题的相关文章

【转】Netty那点事(二)Netty中的buffer

[原文]https://github.com/code4craft/netty-learning/blob/master/posts/ch2-buffer.md 上一篇文章我们概要介绍了Netty的原理及结构,下面几篇文章我们开始对Netty的各个模块进行比较详细的分析.Netty的结构最底层是buffer机制,这部分也相对独立,我们就先从buffer讲起. What:buffer二三事 buffer中文名又叫缓冲区,按照维基百科的解释,是"在数据传输时,在内存里开辟的一块临时保存数据的区域&q

深夜聊聊Bufferbloat以及TCP BBR

这篇文章的写作动机来源于知乎上的一个问题,有人问既然Bufferbloat是个问题,为什么路由器的缓存还要设计那么大.起初,我也是觉得缓存越大越好,这个就像人们拼命比拼谁的电脑内存大一样,因为在一般人眼里,内存越大就越快!然而对于网络而言,恰好相反,内存越大,越让人不想归家.        酒店舒适,但只是路过,没人会把家装修成酒店的样子,家才是越大越好.        路由器设计成携带大缓存的设备,这是一个错误!路由器不该有那么大的缓存,然而TCP大牛当年的一个"AIMD错误决定"让

muduo buffer类的设计与使用

Unix/Linux上的五种IO模型(UNP6.2) IO多路复用一般不能和blocking IO用在一起,因为blocking IO中read() write() accept() connect()都有可能阻塞当前线程,这样线程就没办法处理其他socket上的IO事件了 non-blocking IO的核心思想是避免阻塞在read()或write()或其他IO系统调用上,让一个线程能服务于多个socket连接,IO线程只能阻塞在IO多路复用函数上,如select.poll.epoll_wai

Linux TCP队列相关参数的总结 转

    在Linux上做网络应用的性能优化时,一般都会对TCP相关的内核参数进行调节,特别是和缓冲.队列有关的参数.网上搜到的文章会告诉你需要修改哪些参数,但我们经常是知其然而不知其所以然,每次照抄过来后,可能很快就忘记或混淆了它们的含义.本文尝试总结TCP队列缓冲相关的内核参数,从协议栈的角度梳理它们,希望可以更容易的理解和记忆.注意,本文内容均来源于参考文档,没有去读相关的内核源码做验证,不能保证内容严谨正确.作为Java程序员没读过内核源码是硬伤. 下面我以server端为视角,从 连接建

Muduo 设计与实现之一:Buffer 类的设计

[开源访谈]Muduo 作者陈硕访谈实录 http://www.oschina.net/question/28_61182 开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播.我们希望开源访谈能全面的展现国内开源软件.开源软件作者的现状,着实推动国内开源软件的应用与发展. [嘉宾简介] 陈硕 北京师范大学硕士,擅长 C++ 多线程网络编程和实时分布式系统架构.现任职于香港某跨国金融公司 IT 部门,从事实时外汇交易系统开发.编写了开源 C++ 网络库 muduo

UDP收发buffer尺寸对收发包流量的影响

下午验证一个高流量发包问题时,发现了一个值得记录的问题:socket的收发buffer尺寸是会影响收发包的效率的,高流量通讯时,若socket的收发buffer尺寸过小会一定程度降低收发包效率. 自己先分别获取了一下Windows/Linux系统中默认的收发包尺寸值在x86 Win7环境里实际程序验证结果为 $ ./sockopt.exe UDP socket options: receive buffer: 0x2000 send buffer: 0x2000 TCP socket optio

Nginx9-5

首先,nginx的处理得先打开accept_mutex选项,此时,只有获得了accept_mutex的进程才会去添加accept事件,也就是说,nginx会控制进程是否添加accept事件.nginx使用一个叫ngx_accept_disabled的变量来控制是否去竞争accept_mutex锁.在第一段代码中,计算ngx_accept_disabled的值,这个值是nginx单进程的所有连接总数的八分之一,减去剩下的空闲连接数量,得到的这个ngx_accept_disabled有一个规律,当剩

OPENVPN搭建与配置

Content-type: text/html; charset=UTF-8 openvpn Section: Maintenance Commands (8)Updated: 17 November 2008Index Return to Main Contents NAME openvpn - secure IP tunnel daemon. SYNOPSIS openvpn [ options ... ] INTRODUCTION OpenVPN is an open source VPN

C# 视频流操作

发送视频流 1 void SendVideoBuffer(object bufferIn) 2 { 3 try 4 { 5 TcpClient tcp = new TcpClient(PeerIP_TXT.Text, 6000); 6 NetworkStream ns = tcp.GetStream(); 7 Image buffer = (Image)bufferIn; 8 buffer.Save(ns, System.Drawing.Imaging.ImageFormat.Jpeg); 9