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: