客户端向服务器传送文件,首先发送“文件名及文件大小”,然后再传分块传送二进制流。服务端接受后,经常会丢包,怎么回事。采用异步socket,客户端发送一个数据块,之后进程暂停50毫秒,再发送,有时候能发送成功,有时候会丢包。如果不暂停,那绝对是丢包。大家看看什么问题。

解决方案 »

  1.   

    丢包 你可以 设定 重 传 呀, 把你的 文件块 编号 ,服务端 收到一个 就 回复 收到的编号,如果 上一个号没有 收到 就 重传 不怕丢,只要在传送协议上 下功夫 就行了, 楼主 可以参考 CDT 或104规约
      

  2.   

    UP我做的貌似也遇到这个问题,顺便问一下,socket接收需要花费的时间是不很长,怎么感觉接收速度实在是不能忍受啊
      

  3.   

    在TcpCSFramework类库基础上进行开发,
      

  4.   

    你是用TCP还是UDP?
    如果是TCP的话,那么只要加确认就可以了,比如你客户端发送数据到服务器,那么客户端每发送一次包,都需要等待服务器返回确认包才能发送下一个包,这样就不会丢包了。
    如果是UDP的话,那么就实现一个重传协议
      

  5.   

    我用异步socket,还没有等服务器反应过来,客户端就已经发送下一包了。