示例#1
0
        private void OnAuthorizeReceived(IUdpNetwork network, IOwner owner, string name, ICallbacks callbacks)
        {
            if (string.IsNullOrEmpty(name))
            {
                Console.WriteLine("Authorized failed, empty name, address {0}", owner.Id);
                callbacks.Fail(_incorrectUsername);
                _network.Authorize(owner, false);
                return;
            }

            foreach (var item in _clients.Values)
            {
                if (item == name)
                {
                    Console.WriteLine("Authorized failed, dublicate name, address {0}", owner.Id);
                    callbacks.Fail(_dublicateUsername);
                    _network.Authorize(owner, false);
                    return;
                }
            }
            Console.WriteLine("Authorized true, address: {0}", owner.Id);

            callbacks.Ack(_ok);
            _network.Authorize(owner, true);
            _clients.Add(owner, name);
        }
示例#2
0
        private void OnRequestReceived(IUdpNetwork network, IOwner owner, IValue request, ICallbacks callbacks)
        {
            var chatValue = (ChatValue)request;

            Console.WriteLine("Server receive chat message, address: {0}, name: {1}, message: {2}", owner.Id, chatValue.Name, chatValue.Message);

            _request.Enqueue(new Tuple <IOwner, IValue, ICallbacks>(owner, request, callbacks));
        }
示例#3
0
        private void NetworkOnRequestReceived(IUdpNetwork network, IOwner owner, IValue request, Network.Callbacks.ICallbacks callbacks)
        {
            callbacks.Ack("Ok");
            var    value   = (ChatValue)request;
            string message = value.Name + ": " + value.Message;

            CallMessage(message, false);
        }
示例#4
0
 private void OnDisconnected(IUdpNetwork network, IOwner owner)
 {
     Console.WriteLine("Disconneted, address: {0}", owner.Id);
     _clients.Remove(owner);
 }
示例#5
0
 private void NetworkOnConnected(IUdpNetwork network, IOwner owner)
 {
     Console.WriteLine("Connected, address: {0}", owner.Id);
 }
示例#6
0
 private void NetworkOnConnected(IUdpNetwork network, IOwner owner)
 {
     _owner = owner;
     CallChangeStage(ClientStage.Connected);
     CallMessage("Connected", true);
 }