Socket Probleme! Integer und Strings senden?
-
Hallo,
ich benutzte Visual C++ 2005 Prof. und habe Probleme mit der Socket Programmierung.
Ich bastell gerad an einem Client Programm, welches sich mit einem fremden Server verbinden soll. Der Server hat folgende Spezifikationen:
Messages are passed by writing the following to a TCP/IP socket stream:
1. a four byte integer containing the ID of a message
2. a four byte integer containing the size of the message data
3. the message data itselfIch verwende die Socket-Klasse von Visual C++ also System::Net::Sockets und bei der Klasse wird beim Send-Befehl ja ein Byte-Array übergeben bzw. gesendet. Das Problem ist halt, dass der Server ein 4-Byte-Integer und ein String erwartet und keine Bytes. Früher konnte man ja auch Integer senden bzw. mit htonl konvertieren usw., dass ist alles irgendwie nicht mehr möglich. Hat jemand vielleicht eine Idee für mein Problem.
Nochmal in einem Satz: Wie kann ich einen 4-Byte-Integer Wert senden?
-
Prüfe mal, ob Du nicht auf den Datenstream ein StreamWriter setzen kannst. Mit diesem kannst Du dann in den Stream schreiben was Du magst, sogar Rohdaten.
-
Beim Erstellen des Socket Objektes lege ich ja schon fest das es ein Stream sein soll, ich kann aber auch mit System::Net:Sockets::NetworkStream einen Richtigen NetworkStream mit dem Socket erstellen und in den Stream auch mit Write und Read zugreifen. Leider ist es das selbe in blau, ich muss auch bei dem Stream->Write ein Byte-Array übergeben. Trotzdem aber danke...
-
Na, wer nicht will der hat schon.