C++ winsock
Ostatnio zmodyfikowano 2010-03-15 23:08
Bartaz Temat założony przez niniejszego użytkownika |
... » 2010-03-15 22:27:02 Teraz po tym cout << "WSA_GLE: " << WSAGetLastError() << endl;
w konsoli wyswietla sie WS_gle: 0 no a potem blad... |
|
malan |
» 2010-03-15 22:31:34 << tu by ł b ł ę dny kod >>
A teraz ? |
|
Bartaz Temat założony przez niniejszego użytkownika |
... » 2010-03-15 22:44:56 Teraz niechce sie skompilowac daje kod 21 C:\Documents and Settings\ADMIN\Pulpit\Winsock\serwer\main.cpp non-lvalue in assignment Kod: #include <winsock2.h> #include <windows.h> #include <stdio.h> #include <iostream> using namespace std; int main( int argc, char ** argv ) { WSADATA wsaData; WORD wersja; int blad; int rozmiar; char bufor[ 500 ]; SOCKET soc_serwer, soc_klient; sockaddr_in nowa_Nazwa; wersja = MAKEWORD( 2, 2 ); blad = WSAStartup( wersja, & wsaData ); cout << "Sprawdzanie protokołów..." << endl; if( !WSAStartup( wersja, & wsaData ) && blad = WSAGetLastError() ) { cout << "WSA_GLE: " << blad << endl; cout << "Błąd inicjalizacji WSA" << endl; WSACleanup(); } if( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) { printf( "błąd zła wersja winsock" ); WSACleanup(); return 0; } soc_serwer = socket( AF_INET, SOCK_STREAM, 0 ); memset( & nowa_Nazwa, 0, sizeof( nowa_Nazwa ) ); nowa_Nazwa.sin_family = AF_INET; nowa_Nazwa.sin_addr.s_addr = INADDR_ANY; nowa_Nazwa.sin_port = htons( 12345 ); if( bind( soc_serwer,( struct sockaddr * ) & nowa_Nazwa, sizeof( nowa_Nazwa ) ) == SOCKET_ERROR ) { printf( "bind - błąd" ); WSACleanup(); return 0; } if( listen( soc_serwer, SOMAXCONN ) == SOCKET_ERROR ) { printf( "listen - błąd" ); WSACleanup(); return 0; } rozmiar = sizeof( nowa_Nazwa ); soc_klient = accept( soc_serwer,( struct sockaddr * ) & nowa_Nazwa, & rozmiar ); send( soc_klient, bufor, sizeof( bufor ), 0 ); blad = recv( soc_klient, bufor, sizeof( bufor ), 0 ); if( blad == SOCKET_ERROR ) { printf( "revc - błąd" ); WSACleanup(); return 0; } else printf( "otrzymałem wiadomość --- %s", bufor ); closesocket( soc_serwer ); closesocket( soc_klient ); WSACleanup(); system( "PAUSE" ); return EXIT_SUCCESS;; }
|
|
malan |
» 2010-03-15 22:58:25 Oj chłopie... ;p If successful, the WSAStartup function returns zero.. Jeżeli funkcja wykona się poprawnie to zwraca zero. if( !WSAStartup( wersja, & wsaData ) ) inaczej...: if( !( WSAStartup( wersja, & wsaData ) != 0 ) ) jeszcze inaczej...: if( WSAStartup( wersja, & wsaData ) == 0 ) ... Popraw to na: if( WSAStartup( wersja, & wsaData ) ) |
|
Bartaz Temat założony przez niniejszego użytkownika |
... » 2010-03-15 23:03:57 Ok juz dziala dzieki. /// Znasz moze jakis dobry kurs winsocka bo ten na gamedev nie jest zbytnio rozbudowany... (Pl) |
|
malan |
» 2010-03-15 23:08:35 |
|
1 « 2 » |