private void OnApplicationQuit() { switch (networkType) { case NetworkType.SERVER: RSGNetwork.StopServer(); break; case NetworkType.CLIENT: RSGNetwork.DisconnectFromServer(); break; } }
private void Start() { RSGNetwork.IPAddress = ipAddress; RSGNetwork.PortNumber = serverPort; if (!ConnectOnStart) { return; } switch (networkType) { case NetworkType.SERVER: RSGNetwork.StartServer(); break; case NetworkType.CLIENT: RSGNetwork.ConnectToServer(); break; } }
private IEnumerator HeartBeat() { while (true) { yield return(new WaitForSeconds(5f)); if (IsServer) { foreach (var client in RSGNetwork.Clients) { if (!client.Value.tcp.socket.IsConnected()) { //Debug.Log("Client Disconnected (HB)"); client.Value.Disconnect(); } else { client.Value.tcp.RPC("Ping"); } } } else { if (IsConnectedToServer) { if (!RSGNetwork.IsConencted) { //Debug.Log("Client Disconnected (HB)"); RSGNetwork.DisconnectFromServer(); } //Debug.Log("Sending ping to server"); RSGNetwork.ServerRPC("Ping"); } } } }