示例#1
0
 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);
     }
 }
示例#2
0
        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);
        }