I'm lost, is there any way you could direct me on how to process multiple packets?
I don't understand what you mean. Each packet should contain all the data to do something. You should read until the end of the packet arrives, then do that something.
I don't understand what you mean by "process multiple packets". Each one needs to be processed separately.