我在windows下 send 一个图片到 linux 下的服务端去
图片是通过结构体封包成一小个包一小个包,通过循环给服务器发送封包的,服务端那边也是循环接收封包
封包不完整传送或者不完整接收这种情况已经做好相应循环来处理。现在问题是,在没开代理前,图片能完整的传到服务端去,通过把封包的send返回值和recv的返回值写入文本查看,数据都是完整的。现在我开了代理后,客户端再次给服务端发送图片,写入文本的send返回值显示完整传送,而服务端的recv返回值显示看到的只接收了图片前面的数据,后面的数据接收不到。现在不知道什么原因造成了,找了几天没找出问题来。是不是代理会限速,比如说,我客户端1秒中内向服务端传送了10K的数据,而通过代理1秒中出去的数据只有8K,最后导致2K的数据丢失了?后来我把服务端的封包设定了下延时,每个封包发送后延时50毫秒再发送下个封包,这样后,开启代理再次发送图片,服务端那边又能完整的把图片接收下来了,实在搞不懂是什么原因,请高手指点下。

解决方案 »

  1.   

    邮箱或QQ给我,我把资料传给你
      

  2.   

    代理服务器都没发完,你就请求下一次了。
      

  3.   

    比如服务器收到一个包之后给客户端发一个确认消息,客户端在收到确认消息后再发送下一个包,这样可以吗?是不是对效率有影响?在局域网中我是这样做的,不知互联网是否可行?
      

  4.   


    我的QQ和邮箱发给你了。。
      

  5.   


    邮箱和QQ我发到你空间了。。希望给我传资料过来,谢谢哈