For a graduate-level project, I'm being asked to create a reliable UDP implementation in Python. I have experience with socket programming in Python, but mostly TCP or "fire and forget"-type UDP stuff. I essentially have to create UDP with TCP congestion control. My main question is this:
How can I send packets and receive acknowledgments at the same time? I think the problem is the blocking socket.recv() call. How is this typically handled?
Any help with this or general advice on implementing reliable UDP would be very helpful!