ďťż

Ładny brzuch

Mam dwie aplikacje konsolowe, klienta i serwer. Utworzyłem tablicę typu char[500] do przechowywania cnapisów. Wczytuje je poprzez klasę cin. Teraz wysyłam tą tablicę do serwera za pomocą funkcji send w taki oto sposób send(socket,sbuf,strlen(sbuf),0); wszystko działa dobrze, tylko kiedy na serwerze próbuje tablicę którą otrzymałem za pomocą funkcji recv wysłać do strumienia wyjściowego za pomocą cout dzieje się dziwna rzecz. Np. kiedy prześle 1 wiadomość w postaci "test" wyświetli mi "test" ale jeśli wyślę 2 wiadomość np. "xx" to linię niżej otrzymam "xxst". Podejrzewam że nie przesyła mi znaku '/0'. Chciałbym się dowiedzieć czy można i jak ten znak przesłać.
Użytkownik odrin edytował ten post 17 styczeń 2007, 23:00


Możesz np tak odbierać: int ret = recv(socket,sbuf,sizeof(sbuf),0); sbuf[ret] = '/0';To najprostrzy sposób. Możesz też wysłać zmienną z rozmiarem tekstu...

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •