When I was in the programming industry, I was about to implement a feature that transmits pictures via the UDP-IP protocol. Because UDP is an unsecured communication protocol, data packets are often dropped so that the received picture data is incomplete and then authenticated to let the terminal resend the lost packets. I started using the list collection to receive packets, this drawback is that the data can be duplicated, each time the data received to do a duplicate verification, very cumbersome, and the program in the packet loss verification often judge error. It gave me a headache for a few days. Then I suddenly thought that using the map collection instead of the list to receive the data, the problem was solved perfectly. Although the length of the map is not controllable and is unordered, the data is not duplicated and can be accessed by means of key-value. So I use key as the package sequence number, value as packet data, when the picture dropped packet phenomenon, I just want to determine the map key corresponding value is empty.
The hardest bug to debug when entering the IT industry