예제 #1
0
        public int Connect(string address, int port, object settings, bool websocket, out byte error)
        {
            NetworkTransport.Init();
            int hostId = RelayTransport.AddHost((HostTopology)settings, false);

            return(RelayTransport.Connect(hostId, address, port, 0, out error));
        }
예제 #2
0
        public void DisconnectClient(uint clientId)
        {
            NetId netId = new NetId(clientId);

            if (netId.IsHost() || netId.IsInvalid())
            {
                return;
            }
            RelayTransport.Disconnect(netId.HostId, netId.ConnectionId, out byte error);
        }
예제 #3
0
        public void RegisterServerListenSocket(object settings)
        {
            HostTopology topology = new HostTopology((ConnectionConfig)settings, NetworkingManager.singleton.NetworkConfig.MaxConnections);

            for (int i = 0; i < ServerTransports.Count; i++)
            {
                if (ServerTransports[i].Websockets)
                {
                    RelayTransport.AddWebsocketHost(topology, ServerTransports[i].Port, true);
                }
                else
                {
                    RelayTransport.AddHost(topology, ServerTransports[i].Port, true);
                }
            }
        }
예제 #4
0
        public void QueueMessageForSending(uint clientId, ref byte[] dataBuffer, int dataSize, int channelId, bool skipqueue, out byte error)
        {
            NetId netId = new NetId(clientId);

            if (netId.IsHost() || netId.IsInvalid())
            {
                error = 0;
                return;
            }
            if (skipqueue)
            {
                RelayTransport.Send(netId.HostId, netId.ConnectionId, channelId, dataBuffer, dataSize, out error);
            }
            else
            {
                RelayTransport.QueueMessageForSending(netId.HostId, netId.ConnectionId, channelId, dataBuffer, dataSize, out error);
            }
        }
예제 #5
0
 public void DisconnectFromServer() => RelayTransport.Disconnect(serverHostId, serverConnectionId, out byte error);
예제 #6
0
 public void Connect(string address, int port, object settings, out byte error)
 {
     serverHostId       = RelayTransport.AddHost(new HostTopology((ConnectionConfig)settings, 1), false);
     serverConnectionId = RelayTransport.Connect(serverHostId, address, port, 0, out error);
 }
예제 #7
0
        public void SendQueue(uint clientId, out byte error)
        {
            NetId netId = new NetId(clientId);

            RelayTransport.SendQueuedMessages(netId.HostId, netId.ConnectionId, out error);
        }