C/S(都是自己写的服务器和客户端)下用socket
传输
文件不是什么新鲜的东西,
但是我想做好做稳定也不是件容易的事情,其中我想最重要的事情应该就是所采用的传输机制。
我现在准备写一个,想写的好点,所以有一些问题请教请教各位:)
1.分包的大小。
分包应该分多大才合适?我原来分的是512个字节,局域网没有问题。不过在internet上或者
网络
环境
很差的时候恐怕就不行了。所以现在想的方法是,先测一下速度,快的则用大包,慢的则用小包。不知道是否可行。还有大家一般怎么测速?
2.收每包的数据是否需要确认
无论是
客户
端收文件还是服务器收文件,都存在一个问题,就是收到一个包文件数据后是否要向发送方返回收到信息。我原来写的是没有的,局域网也没有问题,发送方稍微发慢点就可以了。现在想想感觉还是应该加上更合理些,不知道大家这块怎么做的
3.异常处理
异常的情况有很多,如通讯突然中断,但这两个情况我感觉比较复杂:
网络环境由好变差,之前定的分包肯定不合适了
客户端的暂停和继续,暂停
时间
长了,可能连接已经被服务器关闭了。