uninitialized local variable 'm_socket' used

0

uninitialized local variable 'm_socket' used
w linijce

sockaddr_in polaczenie()
    {
        SOCKET m_socket;    
        sockaddr_in clientService; 
        clientService.sin_family = AF_INET;
        clientService.sin_addr.s_addr = inet_addr( "127.0.0.1" );   //
        clientService.sin_port = htons( 10000 );
        [b]if ( connect( m_socket, (SOCKADDR*) &clientService, sizeof(clientService) ) == SOCKET_ERROR) [/b]
        {
        printf( "Faisled to connect.\n" );
        WSACleanup();
            
        }
     
    return clientService;
    }

nie mam pojecia zielonego skad to sie wzielo, w kazdym razie wiem, ze przez to nie dziala polaczenie z serwerem (mimo, ze to jest tylko warning i sie kompiluje). probuje na wszystkie sposoby to wyeliminowac, ale niestety nie daje rady, co wiaze sie z tym, ze stoje w martwym miejscu a chcialem skorzystac z przerwy swiatecznej jak najbardziej... po raz kolejny licze na wasza pomoc, pozdrawiam, ten marny amator ;)

0

Slyszales o funkcji socket ?

0

za bardzo nie wiem o co ci chodzi, ale sprobowalem jeszcze dodac taki wpis
SOCKET m_socket=nowa(); (czyli dodalem tylko nowa())
[b]nowa()[/b]

SOCKET nowa()
    {
    SOCKET m_socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
    
    if ( m_socket == INVALID_SOCKET ) 
    {
    printf( "Error at socket(): %ld\n", WSAGetLastError() );
    WSACleanup();
    }

teraz warningu nie ma, ale jest blad polaczenia z serwerem.
wyswietla ta linijke
printf( "Error at socket(): %ld\n", WSAGetLastError() ); (z nowa() )
a linijke nizej
printf( "Failed to connect.\n" ); (z polaczenie() )

0

a jak brzmi ta tresc bledu? moze host/port jest nie osiagalny? probowales www.google.com:80? wolasz WSACleanup, ale czy masz gdzies wywolanie WSAInit?

0

no blad jest taki: uninitialized local variable 'm_socket' used
serwer jest osiagalny, bo jest poprawny, odpalam go na kompie u siebie i wiem, ze dziala. blad jest gdzies w kliencie.

0

człowiecze drogi. kompilator oraz t0m_k już Ci powiedzieli, że SOCKET trzeba sobie ZROBIĆ zanim sie zacznie go używać. od tego jest funkcja socket(), której w linijce "SOCKET m_socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );" użyłeś prawidłowo..
co, zapomniales potem napisac w polaczenie "SOCKET m_socket = nowa(); " ?

poza tym przeczytaj wszystkie pytania z mojego poprzedniego postu, zwlaszcza to ostatnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1