VB TCP-Client 8bit senden

Gast #4274280
Lesenswert?
• ▲
▼
Hallo Leute,

ich möchte mit VB (2013) über den TCP-CLient Daten zu einem Gerät 
senden. Das klappt soweit alles gut, außer das Senden von vollen 8-Bit.

Bis 127 geht es, danach sendet er 191, 195 für eine normalerweise 255.
1
Sub ConnectToIP(ByVal IP As String)
2
        Try
3
            Client = New TcpClient
4

5
            Client.Connect(IP, Form1.IP_SERVER_PORT)
6

7
            If Client.Connected() = True Then
8
                wifi = Client.GetStream()
9
                wifi_write = New StreamWriter(wifi)
10
                wifi_read = New StreamReader(wifi)
11
            End If
12
        Catch ex As Exception
13
            Notification2.ShowBalloonTip(1500, "IP", "Keine Verbindung zur IP", ToolTipIcon.Error)
14
        End Try
15
    End Sub

Das ist die Sub, mit der man sich mit dem Client verbindet.


Einen Wert schreibe ich dann bspw. so:
1
            ConnectToIP(Form1.IP_TO_CONNECT)
2

3
            If Client.Connected Then
4
                wifi_write.WriteLine(value.ToString() & Chr(255))
5
                wifi_write.Flush()
6

7
                Client.Close()
8
            End If


Die Sache ist jetzt die, wenn Chr(127) geht, dann bekomme ich auch eine 
127 als Byte, alles was darüber geht geht nicht mehr. Ich denke mal da 
ist was falsch im Encoding, habe es leider nicht gefunden, wo man das 
umstellt.

Hoffe mir kann jmd. helfen!
Gast #4275155
Lesenswert?
• ▲
▼
Planlos schrieb:
> "StreamWriter" ist nur für Text. Macht z.B Charset-Conversion.
>
> Du brauchst vmtl. stattdessen wifi.Write(byte[], offset, size)
>
> (wifi ist ein "NetworkStream", der arbeitet auf Byte-Ebene)

Das mag zwar auch funktionieren, angenehmer ist das aber mit dem 
Streamwriter, da kann ich direkt einen String übergeben.

ABER: Du hast mir trotzdem geholfen, ich war nen bisschen verplant - 
wenn ich den Streamwriter nutze, muss ich dort auch die Einstellungen 
vornehmen und nicht beim TCP ==> Streamwriter mit Encoding.Default und 
nun kann ich 8-Bit senden/empfangen! Das habe ich die ganze Zeit beim 
TCP gesucht mit dem Default-Encoding ;)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.