private void UpdateParameters() { while (!Stop) { Byte[] buffer = new Byte[16384]; InfoSock.Receive(buffer); String received = Encoding.Default.GetString(buffer); String[] values = received.Split(','); if (values.Length >= 2) { Lon = Double.Parse(values[0]); Lat = Double.Parse(values[1]); UpdateListeners?.Invoke(Lon, Lat); } Thread.Sleep(100); } }
public Socket ConnectAsServer(int flightInfoPort) { InfoSock?.Close(); try { Socket client, listener = new Socket(SocketType.Stream, ProtocolType.Tcp); EndPoint endPoint = new IPEndPoint(IPAddress.Any, flightInfoPort); listener.Bind(endPoint); listener.Listen(5); client = listener.Accept(); //System.Windows.Forms.MessageBox.Show("Connected to client: " + client.RemoteEndPoint); InfoSock = client; Thread t = new Thread(UpdateParameters); t.Start(); } catch (Exception e) { System.Windows.Forms.MessageBox.Show("Connecting as server failed"); } return(InfoSock); }