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

Winsock! - Problem

Ostatnio zmodyfikowano 2009-12-14 19:28
Autor Wiadomość
DDD
Temat założony przez niniejszego użytkownika
Winsock! - Problem
» 2009-12-14 15:27:23
Witam!
Jak zwykle mam problem.;] Tym razem mój problem leży w winsock. Tylko teraz muszę wytłumaczyć ten problem i nie wiem czy mi się uda.xD Ale spróbujmy!;]
A wiec zrobiłem serwer i klienta i ten klient wysyła wiadomość do serwera a on ten tekst wyświetla. I dotąd jest dobrze. A teraz zrobiłem tak żeby jak klient wyśle dane słowo powiecmy "cos" to serwer odpowie klientowi! Ale tylko wtedy gdy klient wyśle slowo "cos"! Wszystko się kompiluje tylko, że nie działa;/
Nie wiem czy dobrze wytłumaczylem.
Oto moja pętla która nie działa tak jak bym chciał:
C/C++
while( !key[ KEY_ESC ] ) {
    if( ret == SOCKET_ERROR ) {
        s = sizeof( cin );
        nowy = accept( sock,( SOCKADDR * ) & cin, & s );
        if( nowy == INVALID_SOCKET ) {
            system( "PAUSE" );
            return 1;
        }
        else {
            recv( nowy, buf, 1024, 0 );
           
            textprintf_ex( screen, font, 20, 30, makecol( 12, 221, 123 ), - 1, "od : %s", inet_ntoa( cin.sin_addr ) );
            textprintf_ex( screen, font, 20, 40, makecol( 12, 221, 123 ), - 1, "                : %s", buf );
            if( buf == "cos" )
            {
                textprintf_ex( screen, font, 20, 50, makecol( 12, 221, 123 ), - 1, "od prr", 0 );
                ( send( nowy, msg, BUFF_SIZE, 0 ) == - 1 );
            }
        }
    }
   
   
   
    else {
        break;
    }
}

A wiec jak byście wiedzieli jak to zrobić to bym był bardzo wdzięczny!

Pozdrawiam Domdziu!
P-12186
malan
» 2009-12-14 16:47:35
Pierwsze co zwróciło moją uwagę to: buf - czy to nie jest zmienna typu char? ;>. Jeśli chcesz porównać chary użyj np. compare:
if( compare( buf, "cos" ) )
P-12188
DDD
Temat założony przez niniejszego użytkownika
» 2009-12-14 19:07:36
Tak tak. Buf to zmienna typu char!;] Ale teraz jak wpisuje to co mi podałeś to wyskakuje mi błąd: `compare' undeclared (first use this function).
Co ten błąd  oznacza?;]
P-12198
malan
» 2009-12-14 19:13:45
Ten błąd oznacza, że nie znaleziono funkcji compare.
Musisz dodać:
C/C++
#include <string>
Domdziu, mówisz, że ten kod się skompilował z takim warunkiem? ;>
P-12199
DDD
Temat założony przez niniejszego użytkownika
» 2009-12-14 19:16:10
Tak skompilował mi się.;] Tylko, że nie działał.
P-12200
DDD
Temat założony przez niniejszego użytkownika
» 2009-12-14 19:20:48
A i nadal mi się nie skompliował choć dodałem " #include <string> "
błąd:  `compare' undeclared (first use this function) 
i jeszcze:   (Each undeclared identifier is reported only once for  each function it appears in.)

P.S sory za spam ( nie za uwarzyłem edit.xD)
P-12201
Elaine
» 2009-12-14 19:23:16
C/C++
#include <cstring>
//...
if( !strcmp( blah, "omfg" ) )
{
    // blah jest równe omfg
}
P-12202
DDD
Temat założony przez niniejszego użytkownika
» 2009-12-14 19:28:51
Ok!!! Wszystko chodzi!:D Dzięki wielkie chłopaki!
Zamykam temat!
P-12203
« 1 »
  Strona 1 z 1