Kurs WinApi - serwer nie działa poprawnie
Ostatnio zmodyfikowano 2014-06-29 17:27
Puszka Temat założony przez niniejszego użytkownika |
Kurs WinApi - serwer nie działa poprawnie » 2014-06-15 21:23:54 Witam! Zaczynam zabawę z WinApi. Aby nauczyć się "co jak działa" postanowiłem, że przekopiuję cały kod źródłowy z kursu Kurs WinAPI, C++. i zobaczę czy jest ok. I tu się pojawia problem, ponieważ opis zachowania programu jest zupełnie inny niż u mnie - chodzi mi o moment, w którym serwer powinien wyświetlić komunikat : "Waiting for connection " u mnie nic się dzieje - dosłownie, gdy kliknę "enter" program kończy działanie. Proszę o pomoc i z góry dziękuje. #include <cstdio> #include <cstdlib> #include <iostream> #include <winsock2.h> #include <windows.h>
void KlientServer();
int main() { WSAData wsaData; int result = WSAStartup( MAKEWORD( 2, 2 ), & wsaData ); if( result != NO_ERROR ) { printf( " Initialization error.\n" ); } SOCKET mainSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); if( mainSocket == INVALID_SOCKET ) { printf( "Error creating socket: %ld\n", WSAGetLastError() ); WSACleanup(); return 1; } sockaddr_in service; memset( & service, 0, sizeof( service ) ); service.sin_family = AF_INET; service.sin_addr.s_addr = inet_addr( "127.0.0.1" ); service.sin_port = htons( 27015 ); if( bind( mainSocket,( SOCKADDR * ) & service, sizeof( service ) ) == SOCKET_ERROR ) { printf( "bind() failed.\n" ); closesocket( mainSocket ); return 1; } if( listen( mainSocket, 1 ) == SOCKET_ERROR ) printf( "Error listening on socket.\n" ); SOCKET acceptSocket = SOCKET_ERROR; printf( "Waiting for a client to connect...\n" ); while( acceptSocket == SOCKET_ERROR ) { acceptSocket = accept( mainSocket, NULL, NULL ); } printf( "Client connected.\n" ); mainSocket = acceptSocket; return 0; }
|
|
Moorfox |
» 2014-06-20 12:29:41 Odpal przez konsolke |
|
Puszka Temat założony przez niniejszego użytkownika |
» 2014-06-29 17:15:55 Nic sie nie dzieje tka jakbym odpalił normalnie - żadnej różnicy |
|
pekfos |
» 2014-06-29 17:27:10 C:\Users\admin\Desktop>g++ a.cpp -lWS2_32
C:\Users\admin\Desktop>a Waiting for a client to connect... Działa. Na pewno kompilujesz ten kod? Jakąś informację powinieneś mieć wypisaną w konsoli. |
|
« 1 » |