void OnClientSessionCallback(CClientSocket ClientSocket, int ConnectionIndex, byte[] arguments) { SSessionPacket SessionPacket = CSerialization.Deserialize <SSessionPacket>(arguments); //Relay the session to the appropriate controller foreach (SConnection Connection in Connections) { if (Connection.ConnectionType != EConnectionType.Controller) { continue; } if (Connection.Information == null) { continue; } SControllerInformation ControllerInformation = (SControllerInformation)Connection.Information; if (ControllerInformation.IsAuthorized && ControllerInformation.Key == SessionPacket.ControllerKey) { ClientSocket.SendPacket <SSessionPacket>((byte)EControllerPackets.Session, SessionPacket); break; } } }
void PacketSessionResponse(byte[] arguments) { SSessionPacket SessionPacket = CSerialization.Deserialize <SSessionPacket>(arguments); if (OnSessionPacketReceived != null) { OnSessionPacketReceived.Invoke(SessionPacket); } }
void OnSessionCallback(byte[] arguments) { SSessionPacket SessionPacket = CSerialization.Deserialize <SSessionPacket>(arguments); if (SessionPacket.Packet == ESessionPackets.Introduction) { ClientSocket.SendPacket <SSessionPacket>((byte)EClientPackets.Session, SessionPacket); } }
void SendIntroduction(IControllerSession session) { SSessionPacket SessionPacket = new SSessionPacket { SessionId = session.Id, ClientHandle = session.Client.SocketHandle, Packet = ESessionPackets.Introduction, ControllerKey = Program.Key }; Connection.SendPacket <SSessionPacket>(EControllerPackets.Session, SessionPacket); }
public void SessionPacketReceived(SSessionPacket SessionPacket) { lock (Sessions) { foreach (IControllerSession Session in Sessions) { if (Session.Id == SessionPacket.SessionId) { Session.OnPacketReceived(SessionPacket.Packet, SessionPacket.data); break; } } } }
void OnControllerSessionCallback(CClientSocket ClientSocket, int ConnectionIndex, byte[] arguments) { SSessionPacket SessionPacket = CSerialization.Deserialize <SSessionPacket>(arguments); //Relay the session packet to the appropriate client foreach (SConnection Connection in Connections) { if (Connection.ConnectionType != EConnectionType.Client) { continue; } if (Connection.Information == null) { continue; } if (Connection.ClientSocket.GetHandle() == SessionPacket.ClientHandle) { Connection.ClientSocket.SendPacket <SSessionPacket>((byte)EClientPackets.Session, SessionPacket); break; } } }
private void Connection_OnSessionPacketReceived(SSessionPacket SessionPacket) { SessionManager.SessionPacketReceived(SessionPacket); }