PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB.NET] Client sendet falsche Daten (bzw. Server wertet falsch aus)



hackerking
25.07.2009, 12:25
Jo Hey Leute..
Also ich habe bei meinem Client und bei meinem Server jeweils eine Funktion zu empfangen und senden von Nachrichten:

Client:

Public Function ReciveBytes() As Byte()
Dim tmpBytes(TCPClient.ReceiveBufferSize) As Byte
Stream.Read(tmpBytes, 0, TCPClient.ReceiveBufferSize)
Return tmpBytes
End Function

Public Sub SendMessage(ByVal bytMessage() As Byte)
Dim tmpBytes(TCPClient.SendBufferSize) As Byte
tmpBytes = bytMessage
Stream.Write(tmpBytes, 0, tmpBytes.Length)
End Sub


Server:


Private Function ReciveBytes(ByVal intIndex As Integer) As Byte()
Dim tmpBytes(Client(intIndex).ReceiveBufferSize) As Byte
Stream(intIndex).Read(tmpBytes, 0, Client(intIndex).ReceiveBufferSize)
Return tmpBytes
End Function

Private Sub SendBytes(ByVal bytBytes() As Byte, ByVal intIndex As Integer)
Dim tmpBytes(Client(intIndex).SendBufferSize) As Byte
tmpBytes = bytBytes
Stream(intIndex).Write(tmpBytes, 0, tmpBytes.Length)
End Sub


Wenn ich jetzt eine Nachricht z. B. über den Server an den Client schicke (egal was z. B. "hallo") mach ich das mit System.Text.ASCII.Encoding.GetBytes("hallo"). Da bekomme ich aber beim Client statt "hallo" nur "hallo (ohne das zweite Anführungszeichen) zurück. Wenn ich das zweite manuell hinzufüge, und dann versuche wieder zu entfernen, dann bekomme ich den Fehler das ich das bei einem String nicht machen könnte...

Weiß jemand den Fehler?

Außerdem wenn ich den String "ok" senden will, dann krieg ich immer ein False als String zurück statt dem gewollten "ok".