把一个文件拆成多个块上传机制的UDP服务器,需要注意的几点(即有文件位图,块位图的上传方式)
1、被动接收端(UDP服务器)的块管理器不要限制块个数,不要有达到了几个块后删除块的想法,不然客户端和服务器的块个数不对等后,服务器端还没有上传完的数据块会被对冲掉。
服务器端的机制应该是不限制块个数(由客户端限制),上传完一个块删除一个块,没上传完的不删除
2、注意客户端和服务器的“同步”关系。很多问题,单看服务器或客户端都看不出问题,但一通信问题就出现了。其实是客户端和服务器没有协调好
3、服务器端处理一个消息时,要注意同一个消息客户端可能在很短的时间内发多个消息,也可能间隔稍长,发多个消息(比如消息重传时)
那么,在你的消息处理函数里的某些处理逻辑是可以多次重复调用的,还是只能调用一次?
4、在块满了时的操作,要和文件位图做同步。在往块管理器添加一个块时,要先判断此块是否已经上传过