在我刚从事编程行业的时候,当时正要实现一个通过udp-ip协议传输图片的功能。由于udp是不安全通讯协议,所以常常丢数据包,从而使接收到的图片数据不完整,然后通过验证让终端重新发送丢失的数据包。开始我使用list集合来接收数据包,此缺点为数据可重复,每次接收数据还要做重复验证,非常麻烦,且使程序在做丢包验证时经常判断出错。这事让我头疼了好几天。后来我突然想到用map集合来代替list接收数据,问题得到完美解决。map虽然长度不可控且是无序集合,但数据是不重复的,且可以通过key-value的方式存取数据。于是我用key作为包序号、value作为包数据,当图片发生丢包现象时,我只要判断map中key对应的value是否为空就可以了。
时间: 2024-10-06 05:48:13