Пример #1
0
 private void SetVariables(NetworkConnector networkConnector, String remoteIpAddress, int port, int timeoutValue)
 {
     this.networkConnector = networkConnector;
     this.remoteIpAddress  = remoteIpAddress;
     this.port             = port;
     this.timeoutValue     = timeoutValue;
 }
Пример #2
0
    private void Start()
    {
        if (NetworkClient.active == false)
#if UNITY_EDITOR
        { NetworkConnector.TryStartServer(false); }
#else
        { NetworkConnector.TryStartServer(true); }
Пример #3
0
        private void CreateDroneWorkers()
        {
            networkConnector = new NetworkConnector(droneConfig.DroneNetworkIdentifierStart, droneConfig.StandardOwnIpAddress, droneConfig.DroneIpAddress);
            networkConnector.ConnectionStateChanged += networkConnector_ConnectionStateChanged;
            networkConnector.Error += networkWorker_Error;

            videoDataRetriever = new VideoDataRetriever(networkConnector, droneConfig.DroneIpAddress, droneConfig.VideoPort, droneConfig.TimeoutValue);
            videoDataRetriever.ConnectionStateChanged += networkWorker_ConnectionStateChanged;
            videoDataRetriever.Error += networkWorker_Error;

            navigationDataRetriever = new NavigationDataRetriever(networkConnector, droneConfig.DroneIpAddress, droneConfig.NavigationPort, droneConfig.TimeoutValue);
            navigationDataRetriever.ConnectionStateChanged += networkWorker_ConnectionStateChanged;
            navigationDataRetriever.Error += networkWorker_Error;

            commandSender = new CommandSender(networkConnector, droneConfig.DroneIpAddress, droneConfig.CommandPort, droneConfig.TimeoutValue, droneConfig.DefaultCameraMode);
            commandSender.ConnectionStateChanged += networkWorker_ConnectionStateChanged;
            commandSender.Error += networkWorker_Error;

            controlInfoRetriever = new ControlInfoRetriever(droneConfig.DroneIpAddress);

            // Interop between the different threads
            commandSender.DataRetriever = navigationDataRetriever;

            networkSanityChecker = new NetworkSanityChecker(videoDataRetriever, navigationDataRetriever, commandSender, droneConfig.FirmwareVersion);
            networkSanityChecker.SanityCheckComplete += networkSanityChecker_SanityChecked;
        }
Пример #4
0
    /// <summary>
    /// Start the server based on current inputs.
    /// </summary>
    private void StartServer()
    {
        players = maxPlayers.Value;
        string matchName = gamenameInput.text;

        Config.Instance.password = passwordInput.text;
        int regionVal = regionDropDown.value + 1;

        matchData = new Dictionary <string, MatchData>()
        {
            { "Match name", matchName },
            { "Max players", players },
            { "Connected players", 1 },
            { "Region", regionVal },
            { "Password protected", (passwordInput.text.Length == 0 ? 0 : 1) }
        };

        if (RAGMatchmaker.Instance.GetCurrentMatch() != null)
        {
            RAGMatchmaker.Instance.SetMatchData(matchData);
            OnConfirm();
            return;
        }

        GlobalsDict.Instance.StartCoroutine(NetworkConnector.RestartServerWithInternetConnection(OnServerStarted, OnServerFailedToConnect));
        SetEnabled(false);
    }
Пример #5
0
    /// <summary>
    /// Callback for when a match was joined.
    /// </summary>
    private void OnMatchJoined(bool success, Match match)
    {
        if (success == false)
        {
            UIManager.Instance.ShowNotification("Could not connect to match");
            joinServerTrans.gameObject.SetActive(false);
            overviewTrans.gameObject.SetActive(true);
            return;
        }

        NetworkConnector.DisconnectClient();

        //NetworkManager.singleton.StartClient(match);
        NobleNetworkManager manager = (NobleNetworkManager)NetworkManager.singleton;
        string ip   = match.matchData["ipAddress"];
        int    port = match.matchData["port"];

        manager.networkAddress = ip;
        manager.networkPort    = (ushort)port;

        Config.Instance.LastConnectedGame = LastConnectedGame.Connected(ip, port);

        manager.StartClient();

        connectingScreen.Show();
        OnConfirm();
    }
Пример #6
0
        private void CreateDroneWorkers()
        {
            if (MessageBox.Show("Please turn on your AR Drone. Make sure the LED's are green.\n\nMake sure your wireless adapter is turned on.\nYou do not have to be connected to the drone yet.\n\nAre you using an Parrot AR Drone 2.0?", "AR Drone 2.0?", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                this.setDroneVersion(2);
            }
            else
            {
                this.setDroneVersion(1);
            }

            networkConnector = new NetworkConnector(droneConfig.DroneNetworkIdentifierStart, droneConfig.StandardOwnIpAddress, droneConfig.DroneIpAddress);
            networkConnector.ConnectionStateChanged += networkConnector_ConnectionStateChanged;
            networkConnector.Error += networkWorker_Error;

            videoDataRetriever = new VideoDataRetriever(networkConnector, droneConfig.DroneIpAddress, droneConfig.VideoPort, droneConfig.TimeoutValue);
            videoDataRetriever.ConnectionStateChanged += networkWorker_ConnectionStateChanged;
            videoDataRetriever.Error += networkWorker_Error;

            navigationDataRetriever = new NavigationDataRetriever(networkConnector, droneConfig.DroneIpAddress, droneConfig.NavigationPort, droneConfig.TimeoutValue);
            navigationDataRetriever.ConnectionStateChanged += networkWorker_ConnectionStateChanged;
            navigationDataRetriever.Error += networkWorker_Error;

            commandSender = new CommandSender(networkConnector, droneConfig.DroneIpAddress, droneConfig.CommandPort, droneConfig.TimeoutValue, droneConfig.DefaultCameraMode);
            commandSender.ConnectionStateChanged += networkWorker_ConnectionStateChanged;
            commandSender.Error += networkWorker_Error;

            controlInfoRetriever = new ControlInfoRetriever(droneConfig.DroneIpAddress);

            // Interop between the different threads
            commandSender.DataRetriever = navigationDataRetriever;

            networkSanityChecker = new NetworkSanityChecker(videoDataRetriever, navigationDataRetriever, commandSender, droneConfig.FirmwareVersion);
            networkSanityChecker.SanityCheckComplete += networkSanityChecker_SanityChecked;
        }
Пример #7
0
 private void SetVariables(NetworkConnector networkConnector, String remoteIpAddress, int port, int timeoutValue)
 {
     this.networkConnector = networkConnector;
     this.remoteIpAddress  = remoteIpAddress;
     this.port             = port;
     this.timeoutValue     = timeoutValue;
     this.firmwareVersion  = DroneConfig.DefaultSupportedFirmwareVersion;
 }
Пример #8
0
    private IEnumerator WaitAndConnect()
    {
        NetworkConnector.TryStartServer(false);
        yield return(null);

        UIManager.Instance.ShowNotification("Could not connect to server!");
        gameObject.SetActive(false);
    }
Пример #9
0
 private void OnPlannedDisconnect()
 {
     if (RegionDict.Instance.Region == Region.Lobby)
     {
         NetworkConnector.TryStartServer(false);
         return;
     }
     GlobalsDict.Instance.StartCoroutine(RegionSceneLoader.Instance.LoadScene(Region.Lobby));
 }
Пример #10
0
    public Stream DS_I_USER(Stream requestStream)
    {
        if (!AMSCSRFCore.IsRequestComeFromProxy(HttpContext.Current.Request))
        {
            return(GenerateErrorResponse(null, "Requester IP is not authorized", System.Net.HttpStatusCode.Forbidden));
        }

        QueryParameter queryParam  = null;
        QueryResult    queryResult = null;

        try
        {
            queryParam = new QueryParameter(requestStream);
            var SavePath = AMSCore.WebConfigReadKey("PATH_UPLOAD_UM");
            if (queryParam.Files != null && queryParam.Files.Count > 0)
            {
                if (NetworkConnector.Access(SavePath))
                {
                    if (!string.IsNullOrEmpty(queryParam.Parameter["IMG"].ToString()))
                    {
                        string path = Path.Combine(AMSCore.WebConfigReadKey("PATH_UPLOAD_UM"), queryParam.Parameter["IMG"].ToString());
                        if (File.Exists(path))
                        {
                            System.IO.File.Delete(path);
                        }
                    }

                    var FileName = DateTime.Now.Ticks.ToString() + Path.GetFileName(queryParam.Files[0].Name);
                    queryParam.Files[0].Save(SavePath, FileName);
                    queryParam.Parameter["IMG"] = FileName;
                }
            }
            else
            {
                // queryParam.Parameter["IMG" FileName);
            }
            queryResult = new QueryResult();
            queryResult.AddOutputParam("success", true);
            queryResult.AddOutputParam("params", queryParam.Parameter);
        }
        catch (Exception ex)
        {
            queryResult = new QueryResult(ex);
        }
        return(queryResult.ToStream(true));
    }
Пример #11
0
        private static string GetPath()
        {
            string path = Path.Combine(Path.GetDirectoryName(HttpContext.Current.Server.MapPath("~")), _appFilePath);

            if (NetworkConnector.Access(path))
            {
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                return(path);
            }
            else
            {
                throw new Exception("Cannot access file path.");
            }
        }
Пример #12
0
    private void OnSuddenDisconnect()
    {
        string reason;
        bool   removeLastConnectedGame = true;

        switch (expectingDisconnectType)
        {
        case DisconnectMessage.Type.PasswordWrong:
            reason = "Could not join server! Entered password is wrong!";
            break;

        case DisconnectMessage.Type.ServerFull:
            reason = "Could not join server! The server is already full!";
            break;

        case DisconnectMessage.Type.Kicked:
            reason = "You were kicked from the server!";
            break;

        case DisconnectMessage.Type.JoinedGameInProgress:
            reason = "Could not join server! Game already in progress!";
            break;

        default:
            reason = "Lost connection to the server!";
            removeLastConnectedGame = false;
            break;
        }

        if (removeLastConnectedGame)
        {
            Config.Instance.LastConnectedGame = null;
        }
        else
        {
            Config.Instance.LastConnectedGame = LastConnectedGame.Disconnected(Config.Instance.LastConnectedGame);
        }

        if (RegionDict.Instance.Region == Region.Lobby)
        {
            NetworkConnector.TryStartServer(false);
            UIManager.Instance.ShowNotification(reason);
            return;
        }
        UIManager.Instance.OptionsManager.ShowLostConnectionScreen(expectingDisconnectType == DisconnectMessage.Type.Kicked);
    }
Пример #13
0
        public IInstructionSender Create(string address)
        {
            var networkAddress   = new NetworkAddress(address);
            var networkConnector = new NetworkConnector(
                NetworkTunnelFactory,
                SocketFactory,
                _recorder);

            var nodeVisitor = new NodeVisitor(networkConnector, SessionFactory, _recorder);

            var instructionSender = new InstructionSender(
                nodeVisitor,
                networkAddress,
                new SessionHolder(_recorder),
                _recorder);

            return(instructionSender);
        }
Пример #14
0
        internal override void ConfigureContainer(ConfiguredServices services)
        {
            if (_gatewayType == NetworkGatewayType.NWS)
            {
                gateway = new NWSConnector();
            }
            //else if(_gatewayType == NetworkGatewayType.VAPS) {
            //    gateway = new VapsConnector();
            //}
            // connection fields
            gateway.PrimaryEndpoint     = ServiceUrl;
            gateway.PrimaryPort         = PrimaryPort;
            gateway.SecondaryEndpoint   = SecondaryEndpoint;
            gateway.SecondaryPort       = SecondaryPort;
            gateway.Timeout             = Timeout;
            gateway.EnableLogging       = EnableLogging;
            gateway.ForceGatewayTimeout = ForceGatewayTimeout;

            // other fields
            gateway.CompanyId          = CompanyId;
            gateway.ConnectionType     = connectionType;
            gateway.MessageType        = messageType;
            gateway.NodeIdentification = NodeIdentification;
            gateway.ProtocolType       = protocolType;
            gateway.TerminalId         = TerminalId;
            gateway.MerchantType       = MerchantType;
            gateway.EWICMerchantId     = EWICMerchantID;
            gateway.UniqueDeviceId     = UniqueDeviceId;

            // acceptor config
            if (AcceptorConfig == null)
            {
                AcceptorConfig = new AcceptorConfig();
            }
            gateway.AcceptorConfig = AcceptorConfig;

            // stan provider
            gateway.StanProvider = StanProvider;

            // batch provider
            gateway.BatchProvider = BatchProvider;

            services.GatewayConnector = gateway;
        }
Пример #15
0
    public Stream DS_SAMPLE_FILE_UPLOAD(Stream requestStream)
    {
        if (!AMSCSRFCore.IsRequestComeFromProxy(HttpContext.Current.Request))
        {
            return(GenerateErrorResponse(null, "Requester IP is not authorized", System.Net.HttpStatusCode.Forbidden));
        }

        IDatabaseConnector dbConnector = new DatabaseConnectorClass();
        QueryParameter     queryParam  = new QueryParameter(requestStream);
        QueryResult        queryResult = dbConnector.ExecuteStoredProcedure(queryParam);
        string             targetPath  = AMSCore.WebConfigReadKey("TEMPORARY_PATH");

        if (NetworkConnector.Access(targetPath))
        {
            foreach (FileParameter fileParameter in queryParam.Files)
            {
                fileParameter.Save(targetPath);
            }
        }
        return(queryResult.ToStream(true));
    }
Пример #16
0
    private void OnReconnectButtonPressed()
    {
        LastConnectedGame lcg = Config.Instance.LastConnectedGame;

        if (lcg == null)
        {
            return;
        }

        NetworkConnector.DisconnectClient();

        NobleNetworkManager manager = (NobleNetworkManager)NetworkManager.singleton;

        manager.networkAddress = lcg.lastConnectedIP;
        manager.networkPort    = (ushort)lcg.lastConnectedPort;

        manager.StartClient();

        connectingScreen.Show();
        OnConfirm();
    }
Пример #17
0
    // Start is called before the first frame update
    private void Awake()
    {
        Debug.Log("Awoke Persistent Class");
        if (persistentNetworkClass != null && persistentNetworkClass != this)
        {
            Debug.Log("Persistent Class already existed");
            Destroy(this.gameObject);
        }
        else
        {
            DontDestroyOnLoad(this.gameObject);
            Debug.Log("Persistent Class: Created instances of objects and Started connector");
            persistentNetworkClass = this;

            clientMessageSingleton = new ClientMessageProcessor();
            //TcpNetworkConnector = new TcpNetworkConnector(new MessagePackMessageSerializer(), clientMessageSingleton, Host, Port);
            TcpNetworkConnector = new MonoV2TcpNetworkConnector(new JsonMessageSerializer(), clientMessageSingleton);

            TcpNetworkConnector.Connect();
            TcpNetworkConnector.Start();
        }
    }
Пример #18
0
        private void ConnectionHandler(object sender, EventArgs e)
        {
            if (_isClosed)
            {
                return;
            }
            if (_connector == null || _connector?.IsClosed == true)
            {
                _connector  = NetworkConnector.GetClientConnector();
                IsConnected = false;
            }
            else if (_connectionInfo == null || !_connectionInfo.IsConnected)
            {
                IsConnected = false;

                IPacketResponse p = null;
                do
                {
                    p = _connector?.Receive();
                    p?.Handle(_manager);
                } while (p != null);

                _connector.Close();
                _connector = null;
            }
            else
            {
                IsConnected = true;
            }
            _connectionInfo = null;
            var request = new ConnectionRequest
            {
                IsConnect = true
            };

            _connector?.Send(request);
        }
Пример #19
0
 public NetworkBehaviour(GameStateManager stateManager, SignalBus signalBus, NetworkConnector networkConnector)
 {
     _networkConnector = networkConnector;
     _stateManager = stateManager;
     _signalBus = signalBus;
 }
Пример #20
0
 public NetworkViewModel()
 {
     Connector = new NetworkConnector();
     IsLoadingAnimationVisible = false;
 }
Пример #21
0
 public UdpWorker(NetworkConnector networkConnector, String remoteIpAddress, int port, int timeoutValue)
     : base(networkConnector, remoteIpAddress, port, timeoutValue)
 {
 }
Пример #22
0
 public NetworkWorker(NetworkConnector networkConnector, String remoteIpAddress, int port, int timeoutValue)
 {
     SetVariables(networkConnector, remoteIpAddress, port, timeoutValue);
 }
 public KeepAliveNetworkWorker(NetworkConnector networkConnector, String remoteIpAddress, int port, int timeoutValue)
     : base(networkConnector, remoteIpAddress, port, timeoutValue)
 {
     keepAliveStopwatch = new Stopwatch();
 }
Пример #24
0
 /// <summary>
 /// Called when a connected client wants to leave the server.
 /// </summary>
 private void OnLeaveServerClicked()
 {
     gameObject.SetActive(false);
     NetworkConnector.DisconnectClient();
 }