利用socket来传文件时,假如一开始发送1000包,但接收方只有得到100包左右,过后,就挂在那里了,不动了.
只有等到重新链接时,才可以进行新的传输,但也会出现类似的情况.
在有线网中,没有什么问题,但在无线网中,就有这个问题了,
我设了很大的缓存,可还是不行的.想问一下如果,出现拥塞时,服务器在多长的时间没有得到一点数据,才会自动断开呢.
急急,请赐教

解决方案 »

  1.   

    我估计不是你的问题,我以前的一个项目也碰到过类似问题,发送数据到一定时间后,就停在那边不动了,一点数据流量都没有。但是GPRS网络也没有断线,过了一点时间后,又可以继续传送了。经过不少测试,我确认是移动的GPRS网络的问题。
      

  2.   

    有没有可能利用自己设置超时时间
    使用SetSockopt()此函数设置超时时间来避免断线
      

  3.   

    移动的GPRS网经常有这种问题 建议你要有一定的反馈机制, 在接收方同时向发送方发包 相应实际收到的包数
      

  4.   

    发送数据不要太快,一般都可以收到。如果通讯数据量不是很多的话,可以做一个大一点的数据缓冲,程序中所有数据全部送到此缓存,等待定时器发送。这样实现比较简单,像windows_editor(色即是空)那样做反馈机制太麻烦,需要考虑的事情也太多。但如果是快速的大数据通讯那就没办法了,只能用反馈机制了。
      

  5.   

    email到:[email protected]
    我一个传送文件的demo.