最近做个工具,需要hook winsocket的wspsend函数,并对buffer里面的数据做处理,具体在get请求的URL上,加入一个参数,这样服务器可以根据参数做出相应处理。但是反复试验过后,才发现buffer内的数据,如果修改时维持原长度,或者是修改后的长度小于原长度都正常,就是不能大于原长度,这样会导致IE崩溃,或者chrome之类报错卡在那里。请教各位,这个问题可以怎样解决?

解决方案 »

  1.   

    buffer长度是有限制的,超过指定的长度,需要分包发送,接收方要作粘包处理
      

  2.   

    比如请求 GET /1.html HTTP/1.1
             Host: item.abc.com
    我需要修改为  GET /1.html?id=123 HTTP/1.1
                  Host: item.abc.com这样就会造成长度变长,无法正常请求
      

  3.   

    2楼的大哥,请教一下,buffer长度的限制,是在哪个位置或者是环节上限制的呢?这个限制能修改吗