Esempio n. 1
0
    public void End()
    {
        switch (_myRole)
        {
        case NetworkRole.None:
            return;

        case NetworkRole.Client:
            StopClient();
            break;

        case NetworkRole.Host:
            StopHost();
            break;

        case NetworkRole.Server:
            StopServer();
            break;
        }

        _clientObj   = null;
        _myRole      = NetworkRole.None;
        numPlayer    = 0;
        fstPlayerPos = -1;
    }
Esempio n. 2
0
 // --------------------------- LogMessage ---------------------------------
 private void LogMessage(NetworkRole InRole, string InFullMsg)
 {
     if (DetailLogger != null)
     {
         DetailLogger.Add(InRole.ToString( ) + " " + InFullMsg);
     }
 }
 // --------------------------- AddMessage ---------------------------------
 private void AddMessage(NetworkRole InRole, string InFullMsg)
 {
     if (mLogger != null)
     {
         mLogger.AddMessage(InRole, InFullMsg);
     }
 }
Esempio n. 4
0
 // --------------------------- AddMessage ---------------------------------
 public void AddMessage(NetworkRole InRole, string InFullMsg)
 {
     if (InFullMsg.Length > 512)
     {
         Add(InRole.ToString( ) + " " + InFullMsg.Substring(0, 512) + "...");
     }
     else
     {
         Add(InRole.ToString( ) + " " + InFullMsg);
     }
 }
Esempio n. 5
0
        public async Task StartClient(string host, int port)
        {
            disks = new Disk[4096];

            networkRole = NetworkRole.Client;
            network     = new Network
            {
                Log             = message => Log(message),
                MessageReceived = HandleNetworkMessage
            };

            await network.ConnectClient(host : host, port : port);
        }
Esempio n. 6
0
        public async Task StartHost(int port)
        {
            disks = new Disk[4096];

            networkRole = NetworkRole.Host;
            network     = new Network
            {
                Log             = message => Log(message),
                MessageReceived = HandleNetworkMessage
            };

            await network.HostServer(port : port);
        }
Esempio n. 7
0
        private void ButtonOnClick(GraphicContainer graphicGrid, int index)
        {
            switch (index)
            {
            case 0:
                NetworkRole = NetworkRole.Host;
                break;

            case 1:
                NetworkRole = NetworkRole.Client;
                break;

            case 2:
                NetworkRole = NetworkRole.Server;
                break;
            }
            Playing = true;
        }
Esempio n. 8
0
        /// <summary>
        /// Initializes the network according to the provided role
        /// </summary>
        /// <param name="role">The role to use</param>
        public void Start(NetworkRole role)
        {
            Role = role;

            var config = new NetPeerConfiguration(Configuration.ApplicationName);

            config.EnableMessageType(NetIncomingMessageType.WarningMessage);
            config.EnableMessageType(NetIncomingMessageType.VerboseDebugMessage);
            config.EnableMessageType(NetIncomingMessageType.DebugMessage);
            config.EnableMessageType(NetIncomingMessageType.ErrorMessage);
            config.EnableMessageType(NetIncomingMessageType.Error);
            config.EnableMessageType(NetIncomingMessageType.ConnectionApproval);

#if DEBUG
            // Note: these only exist on Lidgren in DEBUG mode
            // Allows simulation of slow/problematic networks
            config.SimulatedLoss             = Configuration.SimulatedLoss;
            config.SimulatedMinimumLatency   = Configuration.SimulatedMinimumLatencySeconds;
            config.SimulatedRandomLatency    = Configuration.SimulatedRandomLatencySeconds;
            config.SimulatedDuplicatesChance = Configuration.SimulatedDuplicateChance;
#endif

            entities = new List <INetworkEntity>();


            switch (Role)
            {
            case NetworkRole.Client:
                network = new NetClient(config);
                log.Info("Starting client.");
                break;

            case NetworkRole.Server:
                // server is always client 1
                ClientId    = 1;
                config.Port = Configuration.ApplicationPort;
                network     = new NetServer(config);
                log.Info("Starting server on port:" + Configuration.ApplicationPort);
                break;
            }
            network.Start();
        }
 public void Join(string hostAddress)
 {
     _networkRole   = NetworkRole.Client;
     networkAddress = hostAddress;
     StartClient();
 }
 public void Host()
 {
     _networkRole = NetworkRole.Host;
     StartHost();
 }
Esempio n. 11
0
 public bool NMStartServer()
 {
     _myRole = NetworkRole.Server;
     return(StartServer());
 }
Esempio n. 12
0
 public NetworkClient NMStartClient()
 {
     _myRole = NetworkRole.Client;
     return(_clientObj = StartClient());
 }
Esempio n. 13
0
 public override NetworkClient StartHost()
 {
     _myRole = NetworkRole.Host;
     return(_clientObj = base.StartHost());
 }