Esempio n. 1
0
        public void SendNatNegCookieToGameServer(string data)
        {
            LogWriter.LogCurrentClass(this);
            NatNegCookie cookie   = JsonConvert.DeserializeObject <NatNegCookie>(data);
            IPAddress    address  = IPAddress.Parse(cookie.GameServerRemoteIP);
            int          port     = int.Parse(cookie.GameServerRemotePort);
            IPEndPoint   ipEnd    = new IPEndPoint(address, port);
            EndPoint     endPoint = ipEnd;
            QRSession    session;

            if (!QRSessionManager.Sessions.TryGetValue(endPoint, out session))
            {
                LogWriter.ToLog(LogEventLevel.Error, "Can not find game server in QR");
                return;
            }

            byte[] clientMessage = new ClientMessageResponse(
                cookie.NatNegMessage, MessageKey++, session.InstantKey).BuildResponse();

            session.SendAsync(clientMessage);
        }
Esempio n. 2
0
 public NatNegCookieHandler(ISession session, byte[] recv) : base(session, recv)
 {
     _session      = (SBSession)session;
     _natNegCookie = new NatNegCookie();
 }