internal void BeginRead()
{
try
{
while (!IsDisconnected)
{
while (!_stream.DataAvailable)
{
if (IsDisconnected) return;
Thread.Sleep(100);
}
var incomingId = (byte) _stream.ReadByte();
var packetType = (PacketType) incomingId;
switch (packetType)
{
case PacketType.Identification:
//Server.Log("Identification packet Received", LogTypesEnum.debug);
ReceiveIdentificationPacket();
break;
case PacketType.SetBlockIncoming:
//Server.Log("SetBlockIncoming packet received!", LogTypesEnum.debug);
ReceiveSetBlockPacket();
break;
case PacketType.PositionAndOrientationTeleport:
//Server.Log("POSandORIENT packet received!", LogTypesEnum.debug);
ReceivePosAndOrientPacket();
break;
case PacketType.Message:
//Server.Log("Message packet received!", LogTypesEnum.debug);
ReceiveMessage();
break;
default:
SendKick("Invalid Packet ID " + incomingId);
Server.Log("received packet id: " + incomingId + ", not in switch", LogTypesEnum.Debug);
break;
}
}
}
catch
{
if (!IsDisconnected) Disconnect();
//Server.Log(e.Message, LogTypesEnum.error);
}
}