Re: koledzy, pomozcie...

Autor: Lech Wiktor Piotrowski (lewhoo_at_teamos2.org.pl)
Data: Tue 29 May 2001 - 07:55:21 MET DST


On Mon, 28 May 2001 21:22:48 +0200 (MET DST), Przemyslaw Dobrowolski wrote:

>On Mon, 28 May 2001 19:27:15 +0200 (MET DST), Lech Wiktor Piotrowski wrote:
>
>>nie na te liste, bo to na (fuuj) linuxie, jako ze na taki system piszemy na uczelni, ale
>pisze
>>program na zaliczenie i mi sie wywala na segmentation fault. Jest to prosty klient
>muda.
>
>Po pierwsze - sorry, ale musze to powiedziec. Twój kod jest mało przejrzysty. W pętli
>należy mieć jakiś niezmiennik, a tu go nie widać. Po drugie używaj jakiejś notacji, bo
>trudno jest zrozumieć o co Ci chodzi.
>

tak, wiem, wiem, sorry :)

>Błąd wygląda tak. strcpy robi kopiowanie do \0, natomiast soket nie wypełni Ci po
>otrzymanych danych zerem (on czeka na 1024 bajty danych). Jeśli miałeś farta i
gdzieś
>było zero to strcpy się uda... A jeśli nie to sorry.

wczesniej (jak jest zakomentowane) kopiowalem do 0x0D, ktore musi byc, To samo sie
dzialo.

>Oprócz w/w to brakuje returna (masz zwrócić void *). Po bugu VC++ 6.0 bardzo tego
>pilnuję.

ok, wstawie....

>Po drugie czemu chcesz przeczytać od razu aż kilobajt, czy nie lepiej czytać bajt po
>bajcie?
>

Z tego co pamietam, socket czyta ile przyjdzie, a nie czeka na calosc - 1024 jest
ograniczeniem odgornym. A jezeli nie, to nie wiem, jak dziala poprzednia wersja, ktora
wyswietala wszystko ;)

>BTW: W linijce:
>// memset(&send_buffer, 0, 1025);
>też powinno Ci się to wszystko pochrzanić
>robisz operację na char **
>
>Poniżej troszkę sobie musiałem opisać po swojemu Twój kod. Wiem, że notacji tej nikt
>pod linuxem nie używa, ale napisałeś na listę o OS/2 :-)
>

sprobuje wstawic :)

>BTW2: Spróbuj zrobić jeden wątek w którym tylko czytasz z socketa (w jakims buforze
>cyklicznym, czy czymkolwiek, thread ten moglby wypelniac bufor. Pamietaj w tym
>momencie, ze jak wypelniasz bufor w innym tasku to nalezy uzyc semaforow.
>

aha, w sensie ze thread z petli, a nie samo czytanie?

wielkie dzieki, bede walczycl

-------------------------------------------------------------------------------------------------
Lech Wiktor Piotrowski | ICQ#: 50746253 | lewhoo_at_teamos2.org.pl
TeamOS/2 Poland Webmaster - http://www.teamos2.org.pl
Inne systemy maja uzytkownikow, OS/2 ma wyznawcow
My home OS/2 system uptime is: : 2d 16h 13m 29s 648ms (en).
----------------------------------------------- -------------------------------------------------



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:32:04 MET DST