Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Angelo Bestetti

Caracter ETX CHR(3)

Recommended Posts

Ola Pessoal,Alguem pode me dar uma maozinha?Eis o meu codigo, é uma coisa bem simples monto uma string e envio para um servidor/porta com um delimitador de fim de linha usando ETX chr(3). Try tcpClient.Connect(RemoteServer, RemotePort) Catch ex As Exception ComunicationStatus = 9 Exit Function End Try Dim networkStream As NetworkStream = tcpClient.GetStream() If networkStream.CanWrite And networkStream.CanRead Then ' Send Data to Server Dim sendBytes As [byte]() = Encoding.ASCII.GetBytes(sMyString & Chr(3)) networkStream.Write(sendBytes, 0, sendBytes.Length) ' Read the NetworkStream into a byte buffer. Dim bytes(tcpClient.ReceiveBufferSize) As Byte networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize)) ' Output the data received from the host to the Main Object. Dim sReceived As String = Encoding.utf8.GetString(bytes)Assim que envio automaticamente o servidor responde uma string com o delimitador ETX chr(3) no final dela.Eis o problema dos mais estupidos que nao acho a solucaoquando recebo o byte array o chr(3) esta la no final, ai faco o encode do byte array para ascii normal funciona certinho, na sReceived conta o chr(3)O problema é remove-lo da string.Nem pensem em mandar um codigo assim:sReceived = Replace(sReceived,chr(3),Nothing)Nao funciona, fazer loop ate o chr(3) e despreza-lo tambem nao funcionou.Alguem se habilita em testar e dar uma maozinha????Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele está sempre no final? Não seria o caso então de pegar os n primeiros caracteres (bytes) da string, onde "n" é o tamanho da string -1?Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.