Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Winsock] Problem z recv

Ostatnio zmodyfikowano 2012-01-02 15:11
Autor Wiadomość
Gronek8624
Temat założony przez niniejszego użytkownika
[Winsock] Problem z recv
» 2011-12-31 17:08:18
Witam

Od kilku dni męczę się z Winsock-iem a w szczególności z recv .
Bo gdy ponownie wraca na początek pętli i od nowa wykonuje się kod to całą tablice char zasyfia mi znakiem Ě.

Char czyszczę za pomocą
memset( inputbuffer, '\n', 512 );

Może zna ktoś sposób na to ??
Z góry dziękuje za pomoc.

/edit:
C/C++
do {
    kod[ 0 ] = "";
    kod[ 1 ] = "";
    kod[ 2 ] = "";
    kod[ 3 ] = "";
    memset( inputbuffer, '\n', 512 );
    inputstring = "";
    Sleep( 1000 );
    rec = recv( context->sock, inputbuffer, 512, NULL );
   
    //... sprawdzenie czy koleś jeszcze jest na łączu
   
    int * blo = new int;
    int * st = new int;
    * st = - 1;
    char lol[ 513 ];
    while( 1 )
    {
        wymr = 0;
        if( * st <= czek )
        {
            * st++;
            wymr = recv( sockk, lol, 512, NULL );
           
            if( sprlocza( wymr ) ) // sprawdza aktywność łącza
            {
               
                ins += lol;
                memset( lol, '\n', 512 );
                if( sZ( ins, 'X' ) ) //sprawdza czy jest koniec
                {
                    * blo = 1;
                    break;
                   
                   
                }
                else
                {
                    Sleep( 100 ); // śpi 0.1 sek nim ponownie zacznie obieg
                   
                }
            }
            else
            {
                * blo = - 1; // Brak łącza
                break;
            }
        }
        else
        {
            * blo = 0; // Za dużo czekania
            break;
        }
    }
    delete st;
    return * blo;
    delete blo;
};
 
P-46830
malan
» 2011-12-31 17:10:14
Kod :)
P-46831
mostrom
» 2011-12-31 18:05:14
a inputbuffer to tablica char? memset( inputbuffer, '0', sizeof(inputbuffer) )
P-46844
Gronek8624
Temat założony przez niniejszego użytkownika
» 2012-01-01 17:19:59
inputbuffer to tablica char

Podmieniłem i nie pomogło :(
Może ktoś ma jakieś jeszcze pomysły ??

inputbuffer 0x00bdf6e8 "ĚĚĚĚĚĚĚĚĚĚ..Ě"

Skróciłem, bo się strona rozjeżdża.
~pekfos

Tak to wygląda


P-46918
malan
» 2012-01-01 18:40:13
A jak wysyłasz te dane? Może tam jest błąd :)
P-46933
Gronek8624
Temat założony przez niniejszego użytkownika
» 2012-01-01 19:11:08
błąd nie leży po stronie klienta

Jak sprawdzałem to czyści odpowiednio zmienne

Co każde wysłanie korzysta z tej samej funkcji.


P-46940
pekfos
» 2012-01-01 19:14:32
sprawdź WSAGetLastError()
P-46942
Gronek8624
Temat założony przez niniejszego użytkownika
» 2012-01-01 19:53:55
Później zobaczę

Przed chwilą zrobiłem kilka prób i zauważyłem  to że błąd wywala mi tylko przy użyciu pewnej własnej komendy .

Więc teraz przejże kod i jak nie znajdę błędu to wrzucę.
P-46960
« 1 » 2
  Strona 1 z 2 Następna strona