winsocks
-
hallo,
ich habe von c-worker.ch dieses codeschnipsel:
send(tosocket, msg, sizeof(msg), 0) recv(tosocket, msg, sizeof(msg), 0))zum senden und zum empfangen von strings... allerdings muss msg ein buffer von konstanter groesse sein...
wie kann ich nun variabel grosse strings versenden?
-
wenn ich das richtig verstehe muss der buffer bei server und client gleich groß sein oder?
dann schick doch einfach einen integer der die größe des kommenden strings enthältpseudocode
server: std::string blabla = "juhuhuhuhuhu"; send(tosocket, blabla.size(), sizeof(size_t), 0) send(tosocket, blabla.c_str(), sizeof(blabla.c_str()), 0) client: size_t size_from_server; recv(tosocket, &server, sizeof(size_t), 0); char* blabla; recv(tosocket, blabla, sizeof(char)*size_from_server, 0);