K
naja, du verschickst halt string.size() bytes. es ist aber eh nicht ratsam, so große pakete zu schnüren. splitte lieber die datei in einzelhaeppchen a 100 byte oder so auf. diese nullterminierung (buffer[bytes] = '\0') is nur wichtig, wenn dein string nicht nullterminiert wäre. was aber in dem fall wurscht ist. versuch doch mal deinen netzwerkcode mit normalen strings, ob das klappt, wenn ja, liegt das problem wo anders (eben z.b. mit binärer null im string -> nicht weitergelsen).
string a = "hallo\n\0alles ab hier wird nicht mehr eingelesen";
a.c_str() muesste jetzt "hallo\n" sein