Greetings i am making an UDP sending/receiving program while sending and receiving works all great... my problem is that from several servers i receive multiple packets, the response of these servers is separated into parts in different packets that come one after another... here are my problems: 1) if i put a thread and inside the thread an infinite loop to receive packets, my applications stacks and lags badly. 2)putting the receive buffer function many times, is simply bad solution. I believe i could use some kind of a variable inside a loop to control the looping... Like for example do{} while still receiving packets or something... I really have no idea.. I am new to C# but i am an average, i have done java and some C in the past.