Exemplo n.º 1
0
        public virtual void ClientDisconnected(RemoteClient client)
        {
            var clientAdapter = new NetcodeIORemoteClientAdapter(client, this);
            var clientsWithIP = MatchAllRemote(clientAdapter);

            if (clientsWithIP.Any())
            {
                foreach (var existingClient in clientsWithIP)
                {
                    bool result = Clients.TryRemove(existingClient, out long removed);
                }
            }

            OnClientDisconnected?.Invoke(clientAdapter);
        }
Exemplo n.º 2
0
        public virtual void ClientConnected(RemoteClient client)
        {
            var clientAdapter = new NetcodeIORemoteClientAdapter(client, this);
            var clientsWithIP = MatchAllRemote(clientAdapter);

            if (clientsWithIP.Any())
            {
                foreach (var existingClient in clientsWithIP)
                {
                    existingClient.Disconnect();
                }
            }

            Clients.AddOrUpdate(clientAdapter, DateTime.Now.Ticks, (x, y) => { return(DateTime.Now.Ticks); });
            OnClientConnected?.Invoke(clientAdapter);
        }