Ejemplo n.º 1
0
 public void ApplyService(Networkf.NetworkService service)           // listener thread
 {
     service.parseMessage       = NetworkfMessage.ParseMessage;
     service.OnMessageReceived += OnMessageReceived;
     service.OnServiceTeardown += OnServiceTeardown;
     _service = service;
 }
Ejemplo n.º 2
0
 public NSInitializer(Networkf.NetworkService service, int retryCount = 10, int retryDelay = 1000)
 {
     _service                   = service;
     service.parseMessage       = ParseInitMessage;
     service.OnMessageReceived += OnRawMessageReceived;
     _retryCount                = retryCount;
     _retryDelay                = retryDelay;
 }
Ejemplo n.º 3
0
 public void ApplyService(Networkf.NetworkService service)
 {
     if (_service != null)
     {
         return;
     }
     service.parseMessage       = NetworkfMessage.ParseMessage;
     service.OnMessageReceived += OnMessageReceived;
     service.OnServiceTeardown += OnServiceTeardown;
     _service = service;
 }
Ejemplo n.º 4
0
        private void OnServiceTeardown()           // multi-threads
        {
            var offlineMsg = new ClientMessages.ClientOfflineMessage();
            var service    = _service;

            _service = null;
            lock (_receivedMsgCache) {
                _receivedMsgCache.Enqueue(offlineMsg);
            }
            service.parseMessage       = null;
            service.OnMessageReceived -= OnMessageReceived;
            service.OnServiceTeardown -= OnServiceTeardown;
        }
Ejemplo n.º 5
0
        private void OnServiceTeardown()
        {
            var service = _service;

            _service                   = null;
            service.parseMessage       = null;
            service.OnMessageReceived -= OnMessageReceived;
            service.OnServiceTeardown -= OnServiceTeardown;
            var eventArgs = new NetworkEventCaughtEventArgs()
            {
                message = "Connection is closed."
            };

            OnEventCaught(eventArgs);
        }
Ejemplo n.º 6
0
        static void OnConnectionEstablished(NetworkService service)
        {
            var initializer = new NSInitializer(service);

            byte[] code = initializer.ServerRequireClientVerify();
            if (code != null)
            {
                if (code.SequenceEqual(dmVerificationCode))
                {
                    if (dmConnection.HasAppliedService())
                    {
                        initializer.ServerApplyConnection(null);
                    }
                    else
                    {
                        initializer.ServerApplyConnection(dmConnection);
                    }
                }
                else if (code.SequenceEqual(player1VerificationCode))
                {
                    if (player1Connection.HasAppliedService())
                    {
                        initializer.ServerApplyConnection(null);
                    }
                    else
                    {
                        initializer.ServerApplyConnection(player1Connection);
                    }
                }
                else if (code.SequenceEqual(player2VerificationCode))
                {
                    if (player2Connection.HasAppliedService())
                    {
                        initializer.ServerApplyConnection(null);
                    }
                    else
                    {
                        initializer.ServerApplyConnection(player2Connection);
                    }
                }
                else
                {
                    initializer.ServerApplyConnection(null);
                }
            }
        }