@joe528, I’m guessing you are building a realtime multiplayer, with 33 HZ ticks.
TCP is not the best option for this, I’d recommend UDP.
Imagine the slight network fault. TCP will give you a huge lag, since messages are stacked in TCP/IP stream buffer, and they will wait until the protocol will resend broken packets, and only then will give out all the stacked messages in stream.
For UDP, you just skip broken or undelivered packets (which is one packet per one tick), and go on receiving ticks.
With realtime multiplayer based on ticks this is important.
So my suggestion is you test Noobhub and see if it will work fine for this.
Once you will start experiencing huge lags due to network faults (if any), its possible to rewrite Noobhub to utilize UDP.
Its not hard, and I would help with it (Im itchy to do this for a long time).