示例#1
0
 private void OnClientConnChange(string payload)
 {
     print($"we are OnClientConnChange {payload}");
     onClientConnect.Invoke($"Custom message {payload}");
     connectedClients = ConnectedClientData.ParseClients(payload);
     onConnectionChange.Invoke();
 }
示例#2
0
    public void Host(string nick, int pic_id)
    {
        hostData = new ConnectedClientData(nick, pic_id);
        print("starting host");

        manager.ConnectionApprovalCallback += HostApprovalCheck;
        manager.OnClientDisconnectCallback += OnClientDisconnect;
        manager.StartHost();

        UpdateClients();
    }
 internal void Refresh(ConnectedClientData connectedClientData)
 {
     _connectedClient       = connectedClientData;
     InternalId             = _connectedClient.InternalId;
     _internalId.text       = _connectedClient.InternalId.ToString();
     _publicId.text         = _connectedClient.PublicId.ToString();
     _clientIp.text         = _connectedClient.Ip.ToString();
     _udpPort.text          = _connectedClient.UdpPort.ToString();
     _forwardedUdpPort.text = _connectedClient.ForwardedUdpPort.ToString();
     _rtt.text = _connectedClient.RttFrames.ToString();
 }
    public static ConnectedClientData[] ParseClients(string payload)
    {
        var split = payload.Split(';');

        ConnectedClientData[] clients = new ConnectedClientData[split.Length];
        for (int i = 0; i < split.Length; i++)
        {
            clients[i] = new ConnectedClientData(split[i]);
        }

        return(clients);
    }
        public void AddReceiver(ConnectedClientData clientData)
        {
            WcfConnectedClient client = new WcfConnectedClient();

            client.ClientCallback = OperationContext.Current.GetCallbackChannel <IMessageHubServiceReceiver>();
            client.Id             = client.ClientCallback.Id;
            client.PublicKey      = clientData.PublicKey;

            WcfConnectedClient existing = _clients.Single(clientData.Id);

            if (existing != null)
            {
                RemoveReceiver(clientData.Id);
            }

            _clients.Add(client);
        }
        public void AddReceiver(ConnectedClientData clientData)
        {
            HubConnectedClient client = new HubConnectedClient();

            client.ConnectionId = Context.ConnectionId;
            client.Id           = clientData.Id;
            client.PublicKey    = clientData.PublicKey;

            HubConnectedClient existing = _clients.Single(client.Id);

            if (existing != null)
            {
                Groups.Remove(existing.ConnectionId, ReceiverGroup);
                _clients.Remove(client.Id);
            }

            _clients.Add(client);
            Groups.Add(client.ConnectionId, ReceiverGroup);

            OnConnectedClientAdded(client);
        }
 internal void Init(ConnectedClientData clientData)
 {
     Refresh(clientData);
     _disconnectButton.onClick.AddListener(Disconnect);
 }
 public ServerClientDisconnectButtonClickedEvent(ConnectedClientData clientData) => ClientData = clientData;
示例#9
0
 void IMessageHubService.AddReceiver(ConnectedClientData clientData)
 {
     throw new NotImplementedException();
 }