Нет постоянного подключения к порту - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть устройство на моем компьютере, и я хочу прочитать его данные из порта 2005

Я использую следующий код для чтения из порта 2005 года.

    public MainWindow()
  {
            try
            {

                IPAddress localAddr = IPAddress.Parse("0.0.0.0");

                var host = Dns.GetHostEntry(Dns.GetHostName());

                foreach (var ip in host.AddressList)
                {
                    if (ip.AddressFamily == AddressFamily.InterNetwork)
                    {
                        localAddr = IPAddress.Parse(ip.ToString());
                    }
                }

                TcpClient client = null;
                try
                {
                    client = new TcpClient(localAddr.ToString(), 2005);
                }
                catch (SocketException se)
                {
                }


                Byte[] bytes = new Byte[256];
                String data = null;

                while (true)
                {
                    data = null;

                    NetworkStream stream = client.GetStream();

                    int i;

                    while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
                    {                       
                        data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);

                        DecodeReceivedMsg(data);                       
                    }

                    client.Close();
                }
            }
            catch (SocketException e)
            {

            }
            finally
            {

            }    
 }

Мойпроблема в том, что я не всегда читаю порт, и часто, пока (true) не запускается.

, пожалуйста, направьте меня

...