Ejemplo n.º 1
0
        protected void Send(AbstractCommand command)
        {
            var encode = command.Encode();

            LogManager.Log(LogLevel.MessageVeryLow, "LobbyTcpClient.Receive", "{0} SENT [{1}]", PlayerName, encode);
            base.Send(encode);
        }
Ejemplo n.º 2
0
        public override void Send(AbstractCommand command)
        {
            var gameCommand = command as AbstractGameCommand;

            if (gameCommand != null)
            {
                gameCommand.TableId = m_NoPort;
            }
            base.Send(command);
        }
Ejemplo n.º 3
0
        protected override void Run()
        {
            while (IsConnected)
            {
                LogManager.Log(LogLevel.MessageVeryLow, "LobbyTcpClient.Run", "{0} IS WAITING", PlayerName);

                var line = Receive();
                if (line == null)
                {
                    ServerLost();
                    return;
                }

                LogManager.Log(LogLevel.MessageVeryLow, "LobbyTcpClient.Run", "{0} RECV [{1}]", PlayerName, line);
                try
                {
                    AbstractCommand cmd = AbstractCommand.DeserializeCommand(line);
                    if (cmd.CommandType == TaluvaCommandEnum.Game)
                    {
                        var c = (IGameCommand)cmd;

                        //Be patient
                        var count = 0;
                        while (!m_Clients.ContainsKey(c.TableId) && (count++ < 5))
                        {
                            Thread.Sleep(100);
                        }

                        if (m_Clients.ContainsKey(c.TableId))
                        {
                            m_Clients[c.TableId].Incoming(line);
                        }
                    }
                    else
                    {
                        m_Incoming.Enqueue(line);
                    }
                }
                catch
                {
                    LogManager.Log(LogLevel.ErrorHigh, "LobbyTcpClient.Run", "{0} RECV UNKNOWN COMMAND", PlayerName);
                }
            }
        }