Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ByteArray zu String - Problem mit der Länge !

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe ein kleines aber lästiges Problem und da ich mich erst seit kurzem mit Netzwerkprogrammierung beschäftige, komme ich deswegen derzeit auch nicht weiter.

Und zwar versende ich einen String mithilfe der System.Net.Sockets.TcpClient() an einen Server der das ganze mithilfe der TcpListener Klasse entgegen nimmt.

Der Code sieht wie folgt aus:

Client:


Dim tcpClient As New System.Net.Sockets.TcpClient()

tcpClient.Connect(server, 8000)

Dim networkStream As NetworkStream = tcpClient.GetStream()

' Sende Logindaten

Dim password_md5 = MD5StringZuHash(password)

Dim sendstring As String = "createaccount;" & username & ";" & password_md5 & ";" & email


' DEBUG

MsgBox(sendstring.Length())


Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(sendstring)

networkStream.Write(sendBytes, 0, sendBytes.Length)
Server:
' Listener initialiseren

Const portNumber As Integer = 8000

Dim tcpListener As New TcpListener(portNumber)


' Listener starten

tcpListener.Start()


Dim tcpClient As TcpClient = tcpListener.AcceptTcpClient()

If tcpClient.Connected = True Then

Dim networkStream As NetworkStream = tcpClient.GetStream()

Do Until tcpClient.Connected = False

' Buffer für empfangende Daten

Dim bytes(tcpClient.ReceiveBufferSize) As Byte

Dim clientdata As String


' Variablen für verarbeitete Client-Daten

Dim clientdata_arr() As String

Dim clientdata_header As String

Dim responseString As String


' Daten aus Byte Array lesen

networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))

clientdata = Encoding.ASCII.GetString(bytes)

....

....

....

Das Problem ist jetzt das ein String vom Client laut sendstring.Length() z.b 60 Zeichen besitzt, auf dem Server hat die Variable clientdata in der jetzt dieser String genau so groß sein sollte aber eine Länge von 8193.

Bin ziemlich ratlos ...

Bitte um Hilfe :floet:

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.