Ricezione dati tramite socket

di il
3 risposte

Ricezione dati tramite socket

Buongiorno a tutto il forum

Ho un  problema sul quale non ne vengo a capo.

Tramite socket, ricevo dei dati (per ora tramite un applicativo che fa da simulatore), inviati da una telecamera OCR di lettura targhe.

Una volta ricevuti i dati, devo cercare all'interno della stringa un ‘TAG’ che mi indica l'inizio del campo Targa.

Dim TAG_TARGA As String = Chr(180) & Chr(54) & Chr(0) & Chr(0)

Nei dati che invia il simulatore, questa sequenza è presente (in pratica il simulatore apre un file di testo che  è  un Log effettivo della telecamera), e lo invia.

Lato mio, ricevo i dati :

        Dim sTattile As String = String.Empty

       Dim nCar As Integer = client.Available
       If nCar Then
          Dim Buffer(nCar - 1) As Byte
           NetStream.Read(Buffer, 0, Buffer.Length)
           sTattile = UTF8.GetString(Buffer)
         Dim FirstCharacter As Integer = sTattile.IndexOf(TAG_TARGA)

…..
……

il test su FirstCharacter, ritorna -1

Ho provato a salvare su file Txt quanto ricevuto (sTattile ), ed effettivamente nella posizione del TAG_TARGA è cambiato il carattere chr(180).

(tutto questo, con una vecchia DLL fatta in vb6, funziona regolarmente…..)

Avete qualche idea sul motivo?

Grazie a tutti

DG

3 Risposte

  • Re: Ricezione dati tramite socket

    Probabilmente devi cambiare la riga

    sTattile = Default.GetString(Buffer)

    perchè dubito che con i caratteri 180 e “zero” si tratti di codifica UTF8

  • Re: Ricezione dati tramite socket

    Bingo!

    SirJo non so come ringraziarti…ma Grazie!

    DG

  • Re: Ricezione dati tramite socket

    Il VB6 lavorava in Unicode SOLO internamente ma quando esportata le stringhe queste erano ASCII

Devi accedere o registrarti per scrivere nel forum
3 risposte