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; }
// --------------------------- 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); } }
// --------------------------- AddMessage --------------------------------- public void AddMessage(NetworkRole InRole, string InFullMsg) { if (InFullMsg.Length > 512) { Add(InRole.ToString( ) + " " + InFullMsg.Substring(0, 512) + "..."); } else { Add(InRole.ToString( ) + " " + InFullMsg); } }
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); }
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); }
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; }
/// <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(); }
public bool NMStartServer() { _myRole = NetworkRole.Server; return(StartServer()); }
public NetworkClient NMStartClient() { _myRole = NetworkRole.Client; return(_clientObj = StartClient()); }
public override NetworkClient StartHost() { _myRole = NetworkRole.Host; return(_clientObj = base.StartHost()); }