none
Conversão de Bytes - Interfaceamento RRS feed

  • Pergunta

  • Pessoal bom dia!

    Estou com a seguinte código abaixo e nele eu consigo conectar e receber informações do aparelho mas quando eu exibo as informações que aparelho me mandou conforme o comando MessageBox abaixo ele me amostra um System.byte[].

    Pergunta: Como que eu converto isso de forma legível para um humano entender o que o aparelho mandou?

    MessageBox.Show("Echoed test = {0}", Encoding.ASCII.GetString(bytes, 0, bytesRec));

    O aparelho conforme o manual envia um comando <ENQ> via TCP/IP

    e eu devo enviar um <ACK> para ele. via TCP/IP

    Segue o codigo completo abaixo:

     public string conftcp_server(int porta, string ip)//testado
            {
                string dados = string.Empty;
                byte[] bytes = new byte[1024];

                // Connect to a remote device.
                try
                {
                     IPAddress ipAddress = IPAddress.Parse(ip);
                     IPEndPoint remoteEP = new IPEndPoint(ipAddress, porta);
                    Socket sender = new Socket(AddressFamily.InterNetwork,
                    SocketType.Stream, ProtocolType.Tcp);

                    try
                    {
                        sender.Connect(remoteEP);

                        sender.RemoteEndPoint.ToString());

                        while (true)
                        {
                            
                            int bytesRec = sender.Receive(bytes);
                            MessageBox.Show("Echoed test = {0}", Encoding.ASCII.GetString(bytes, 0, bytesRec));
                       

                            byte[] msg = Encoding.ASCII.GetBytes("<EOF>");
                            dados = msg.ToString();
                      
                            int bytesSent = sender.Send(msg);
                            MessageBox.Show(msg.ToString());
                        }
                    
                        sender.Shutdown(SocketShutdown.Both);
                        sender.Close();

                    }
                    catch (ArgumentNullException ane)
                    {
                        Console.WriteLine("ArgumentNullException : {0}", ane.ToString());
                    }
                    catch (SocketException se)
                    {
                        Console.WriteLine("SocketException : {0}", se.ToString());
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Unexpected exception : {0}", e.ToString());
                    }

                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                }
                return dados;
            }


    Fabricio

    quarta-feira, 17 de agosto de 2016 11:43

Respostas

  • Bom dia Fabriciovale,

    Obrigado pela participação no Fórum MSDN.

    Tente o método Encoding.GetString Method (Byte[])

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 19 de agosto de 2016 13:26
    Moderador

Todas as Respostas

  • Bom dia Fabriciovale,

    Obrigado pela participação no Fórum MSDN.

    Tente o método Encoding.GetString Method (Byte[])

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 19 de agosto de 2016 13:26
    Moderador
  • Bom dia,

    Devido a falta de resposta do usuário

    essa thread está sendo fechada.

    Se o problema ainda estiver ocorrendo,

    favor abrir uma nova thread.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 22 de agosto de 2016 12:49
    Moderador