Beispiel #1
0
        private async void publicButton_MouseDown(object sender, MouseButtonEventArgs e)
        {
            loadLabel.Visibility      = Visibility.Hidden;
            localButton.Visibility    = Visibility.Hidden;
            publicButton.Visibility   = Visibility.Hidden;
            loadLogsButton.Visibility = Visibility.Hidden;
            connectLabel.Visibility   = Visibility.Visible;

            await Task.Run(() =>
            {
                localVariables = new LocalVariables();
                communicator   = new TcpCommunicator(false, localVariables)
                {
                    NoDelay = true
                };
                communicator.Received += PacketReceived_Event;
                communicator.Sent     += PacketSent_Event;
                handler = new StatementHandler(communicator, localVariables);
                handler.StatementHandled += StatementHandled_Event;
            });

            communicator.Open();
            statusVal.Content      = "Connected";
            statusLocalIp.Content  = "Local IP: " + communicator.LocalIp;
            statusPublicIp.Content = "Public IP: " + communicator.PublicIp;
            statusPort.Content     = "Port: " + communicator.Port;

            TransitToMainGrid();
        }
Beispiel #2
0
        public TcpCommunicator(bool local, int port, ILocalVariables localVariables)
        {
            _listening      = false;
            LocalVariables  = localVariables;
            _listenerThread = new ReportingThread();

            if (local)
            {
                PublicIp  = null;
                _listener = new TcpListener(IPAddress.Parse("127.0.0.1"), port);
            }
            else
            {
                PublicIp = IPAddress.Parse(new WebClient().DownloadString("https://api.ipify.org/"));
                var       h    = Dns.GetHostEntry(Dns.GetHostName());
                IPAddress host = null;
                foreach (var ip in h.AddressList)
                {
                    if (ip.AddressFamily == AddressFamily.InterNetwork)
                    {
                        host = ip;
                        break;
                    }
                }
                _listener = new TcpListener(host, port);
            }
        }
Beispiel #3
0
        private void Disconnect()
        {
            communicator.Received -= PacketReceived_Event;
            communicator.Sent     -= PacketSent_Event;
            localVariables         = null;
            communicator.Dispose();
            logger.LogClose(communicator);
            communicator = null;
            handler.Dispose();
            handler = null;

            varView.Items.Clear();
            varViewTitle.Content = "Local Variables (Count: 0):";
            exprBox.Text         = "";
            resultBox.Text       = "";
        }
Beispiel #4
0
        private void localButton_MouseDown(object sender, MouseButtonEventArgs e)
        {
            localVariables = new LocalVariables();
            communicator   = new TcpCommunicator(localVariables)
            {
                NoDelay = true
            };
            communicator.Received += PacketReceived_Event;
            communicator.Sent     += PacketSent_Event;
            communicator.Open();
            handler = new StatementHandler(communicator, localVariables);
            handler.StatementHandled += StatementHandled_Event;

            statusVal.Content      = "Local";
            statusLocalIp.Content  = "Local IP: " + communicator.LocalIp;
            statusPublicIp.Content = "Public IP: N/A";
            statusPort.Content     = "Port: " + communicator.Port;

            TransitToMainGrid();
        }
        public StatementExecutor(List <VariableInfo> variables, MathStatement statement, ITcpCommunicator communicator, ILocalVariables localVariables)
        {
            IsRunning      = false;
            _cancel        = false;
            _nan           = false;
            Communicator   = communicator;
            LocalVariables = localVariables;

            _localAssignees  = new List <string>();
            _localVariables  = new List <string>();
            _remoteAssignees = new Dictionary2D <IPAddress, string>();
            _remoteVariables = new Dictionary2D <IPAddress, string>();
            _ms = statement;

            foreach (var v in variables)
            {
                if (v.IsAssignee)
                {
                    if (v.IsRemote)
                    {
                        _remoteAssignees.Add(v.Ip, v.LocalName);
                    }
                    else
                    {
                        _localAssignees.Add(v.LocalName);
                    }
                }
                else if (v.IsRemote)
                {
                    _remoteVariables.Add(v.Ip, v.LocalName);
                }
                else
                {
                    _localVariables.Add(v.LocalName);
                }
            }
        }
Beispiel #6
0
 public RemoveWindow(ILocalVariables localVariables)
 {
     InitializeComponent();
     this.localVariables = localVariables;
 }
Beispiel #7
0
 public TcpCommunicator(bool local, ILocalVariables localVariables) : this(local, DefaultPort, localVariables)
 {
 }
Beispiel #8
0
 public TcpCommunicator(int port, ILocalVariables localVariables) : this(true, port, localVariables)
 {
 }
Beispiel #9
0
 public TcpCommunicator(ILocalVariables localVariables) : this(true, DefaultPort, localVariables)
 {
 }