2011-03-10, 10:45 PM
Use some form of network I/O that lets the OS notify you when data is available (I/O completion ports on Windows? Dunno what Unix/Linux has. All I know is there's something in .NET for it). Read whatever data is available. If there's a complete packet in there, handle it. If you have an incomplete packet left over, keep it around and use it the next time data from that client is read.
Wait, why are you worrying about scaling? I thought Minecraft servers require massive amounts of resources so you won't be scaling anyway.
Wait, why are you worrying about scaling? I thought Minecraft servers require massive amounts of resources so you won't be scaling anyway.

