[Winsock]Czyszczenie bufora(?)
Ostatnio zmodyfikowano 2011-12-08 15:15
skovv Temat założony przez niniejszego użytkownika |
[Winsock]Czyszczenie bufora(?) » 2011-12-07 20:21:34 Witam. Mam mały problem z przesyłem danych z użyciem winsocka, mianowicie: Mam server który odbiera dane od klienta i wypisuje je w konsoli( std::cout ). To oczywiście działa, tyle że chyba muszę jakoś czyścić bufor winsocka( czy coś takiego ) bo jeśli wyślę pierw: "11111" to wyświetli "11111", następnie wyśle "22" to wyświetli "22111". Potem wyśle "12345abc" to wyświetli to, następnie "xxx" i wyświetla "xxx45abc". Jest może jakaś funkcja która załatwi ten problem? |
|
DejaVu |
» 2011-12-07 20:24:25 a czemu nie wysyłasz długości tekstu? Po drugiej stronie powinno być wiadome ile bajtów jest jeszcze do odczytania. Ty na żywca wysyłasz pewnie stały bufor np. 30 znaków. Czemu nie zaznaczysz więc, że np. 5ty bajt z 30 wysłanych to koniec łańcucha znaków? |
|
skovv Temat założony przez niniejszego użytkownika |
» 2011-12-07 20:28:38 hmm... może i racja ;p dzięki. |
|
skovv Temat założony przez niniejszego użytkownika |
» 2011-12-07 20:45:57 hmm... czy ja aby dobrze używam funkcji itoa()? ;D bo zamiast 23 bajty, zwraca 43 ^.^ _itoa_s( strlen( do_wyslania ), ilosc_bajtow, 5 );
|
|
DejaVu |
» 2011-12-07 22:26:37 Poczytaj kurs, poczytaj działanie funkcji send i recv. To trzeba po prostu zrozumieć, a Ty jak na razie posługujesz się tymi narzędziami na zasadzie 'o działa!' bo tak ktoś napisał i nawet nie wiesz dlaczego działa to tak, a nie inaczej. |
|
skovv Temat założony przez niniejszego użytkownika |
» 2011-12-08 00:21:13 Bez przesady, wiem jak działają funkcje send i recv... może nie na wylot, ale wiem co trzeba... dzięki za pomoc. |
|
DejaVu |
» 2011-12-08 15:15:14 Myślę, że gdybyś wiedział dokładnie jak wspomniane funkcje działają to po prostu nie byłoby tego wątku... dlatego też odsyłam Ciebie do MSDN i zapoznania się z owymi funkcjami. |
|
« 1 » |