private void handleAuth(Message m) { if (this.state == NetEventIOClientState.Authenticated) { this.state = NetEventIOClientState.Authenticated; this.sendMessage(new Message(PacketType.S_authOk)); return; } if (m.command.Equals("token")) { if (this.options.onTokenLogin(this, m.message, this.client.addr)) { this.state = NetEventIOClientState.Authenticated; this.sendMessage(new Message(PacketType.S_authOk)); } else { this.sendMessage(new Message(PacketType.S_authErr)); } } else { if (this.options.onPasswordLogin(this, m.message)) { this.state = NetEventIOClientState.Authenticated; this.sendMessage(new Message(PacketType.S_authOk)); } else { this.sendMessage(new Message(PacketType.S_authErr)); } } }
private void handleInit(Message m) { if (m.packetType != PacketType.C_init) { return; } string version = m.message; int versionNumber; if (!Int32.TryParse(version, out versionNumber)) { return; } if (versionNumber == CURRENT_VERSION) { this.sendMessage(new Message(PacketType.S_initOk, "", "", this.id)); this.state = NetEventIOClientState.Initialized; } else { this.sendMessage(new Message(PacketType.S_initErr)); } }
private NetEventIO() { this.messageListeners = new ConcurrentDictionary <string, OnMessage>(); this.callbackQueue = new ConcurrentDictionary <string, OnCallback>(); this.messageListenersWithCallback = new ConcurrentDictionary <string, OnMessageWithCallback>(); this.binaryMessageListeners = new ConcurrentDictionary <string, OnBinaryMessage>(); this.onDisconnect = null; state = NetEventIOClientState.Connected; this.id = Guid.NewGuid().ToString(); }
private void disconnected() { Console.WriteLine("connection was closed"); if (this.state == NetEventIOClientState.Disconnected) { return; } this.state = NetEventIOClientState.Disconnected; this.client.disconnect(); if (this.onDisconnect != null) { onDisconnect(this); } this.callbackQueue.Clear(); this.messageListeners.Clear(); this.binaryMessageListeners.Clear(); this.messageListenersWithCallback.Clear(); }