Exemplo n.º 1
0
        public override void DisconnectClient(IClient cl, DisconnectReason reason, string message = "")
        {
            var msg = new SvDisconnect {
                Message = message, Reason = reason
            };

            if (SendTo(cl.Id, msg)) // in case of failure, SendTo calls OnClientConnectionReset
            {
                var scl = clients[cl.Id];
                DisconnectClient(scl);
            }
        }
Exemplo n.º 2
0
        public void SaveLoadSvDisconnect()
        {
            // arrange
            const string           refMessage = "Server will be available again in 5 min";
            const DisconnectReason refReason  = DisconnectReason.Shutdown;
            var msg = new SvDisconnect
            {
                Message = refMessage,
                Reason  = refReason,
            };

            // act
            MultiprotocolSaveLoad(msg, () =>
            {
                // assert
                Assert.AreEqual(msg.Message, refMessage);
                Assert.AreEqual(msg.Reason, refReason);
            });
        }
Exemplo n.º 3
0
        private void OnDisconnect(SvDisconnect msg)
        {
            string info;

            switch (msg.Reason)
            {
            case DisconnectReason.Shutdown:
                info = "server shutdown";
                break;

            case DisconnectReason.Banned:
                info = "banned";
                break;

            default:
                info = "unknown";
                break;
            }
            var infoEx = msg.Message == "" ? "" : String.Format(" <{0}>", msg.Message);

            Root.Log(LogLevel.Info, "Client: disconnect received: {0}{1}", info, infoEx);
            disconnectReceived = true;
            Disconnect();
        }