public Client(TcpClient client, ServerControl sControl) { this.isDoctor = false; this.serverControl = sControl; this.tcpClient = client; this.listenThread = new Thread(new ThreadStart(handler)); this.listenThread.Start(); }
///<summary> ///Handles datapackets received by clients. ///</summary> public static void getPacket(ServerControl serverControl, Client client, Packet pack) { switch (pack.Flag) { case Packet.PacketFlag.PACKETFLAG_VALUES: serverControl.writeToModel(client, (Value)pack.Data); serverControl.ForwardedValuePacket(client, pack); break; case Packet.PacketFlag.PACKETFLAG_CHAT: serverControl.forwardMessage(pack, client); break; case Packet.PacketFlag.PACKETFLAG_BIKECONTROL: serverControl.forwardBikeCommand(pack); break; case Packet.PacketFlag.PACKETFLAG_REQUEST_HANDSHAKE: setUsernamePassword(client, pack); serverControl.handshakeResponse(client, (Handshake)pack.Data); break; case Packet.PacketFlag.PACKETFLAG_REQUEST_VALUES: client.sendHandler(serverControl.requestSpecifiedClientData((RequestValue)pack.Data)); break; case Packet.PacketFlag.PACKETFLAG_REQUEST_USERLIST: client.sendHandler(serverControl.getOnlineClientListPacket()); break; case Packet.PacketFlag.PACKETFLAG_WINGATE_RESULT: serverControl.WingateResult(pack); break; case Packet.PacketFlag.PACKETFLAG_REQUEST_ALL_WINGATE: serverControl.ResponseWingate(client); break; case Packet.PacketFlag.PACKETFLAG_REQUEST_SPECIFIC_WINGATE: serverControl.ResponseWingate(client, pack); break; default: Console.WriteLine("Error: unhandled Packet received - {0}", pack.Flag); break; } }