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(); }
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); } }
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 = ""; }
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); } } }
public RemoveWindow(ILocalVariables localVariables) { InitializeComponent(); this.localVariables = localVariables; }
public TcpCommunicator(bool local, ILocalVariables localVariables) : this(local, DefaultPort, localVariables) { }
public TcpCommunicator(int port, ILocalVariables localVariables) : this(true, port, localVariables) { }
public TcpCommunicator(ILocalVariables localVariables) : this(true, DefaultPort, localVariables) { }