[winsock2] serwer
Ostatnio zmodyfikowano 2012-03-30 12:33
hincu Temat założony przez niniejszego użytkownika |
[winsock2] serwer » 2012-03-30 12:33:33 napisalem klient/serwer w winsock do mojej gry klient laczy sie pieknie ( sprawdzalem w sfml network o dziwo dzialalo ) no dobra ale przy pisaniu serwera juz nie jest tak wesolo mianowicie problem polega przy nasluchiwaniu serwera na polaczenia nie mam zielonego pojecia co jest nie tak : P jakies sugestie? o to kod calego jak na razie serwera #include "Server.h"
void Server::InitConnect() { int err; err = WSAStartup( MAKEWORD( 2, 2 ), & wsadata ); if( err != 0 ) { std::cout << "Blad przy inicjalizacji winsock" << std::endl; IsInitialized = false; } else { ServerListener = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); if( ServerListener == INVALID_SOCKET ) { std::cout << "Blad przy tworzeniu gniazda" << std::endl; IsInitialized = false; WSACleanup(); } else { std::cout << "Gniazdo utworzono pomyslnie" << std::endl; } SOCKADDR_IN serverInf; serverInf.sin_family = AF_INET; serverInf.sin_addr.s_addr = INADDR_ANY; serverInf.sin_port = htons( Port ); if( bind( ServerListener,( SOCKADDR * )( & serverInf ), sizeof( serverInf ) ) == SOCKET_ERROR ) { std::cout << "Nie moge zbindowac gniazda" << std::endl; IsInitialized = false; WSACleanup(); } else { std::cout << "Inicjalizacja winsock udana" << std::endl; IsInitialized = true; } } }
void Server::Listen() { SOCKET TempSock = SOCKET_ERROR; std::cout << "Szukam polaczen..." << std::endl; while( TempSock == SOCKET_ERROR ) { TempSock = accept( ServerListener, NULL, NULL ); IsConnected = false; } Client = TempSock; std::cout << "Polaczono z klientem " << std::endl; IsConnected = true; }
void Server::SendPing() { if( PingTimer.GetElapsedTime() >= 10.f ) { std::string ping; ping = "PING"; send( Client, ping.c_str(), 4, 0 ); std::cout << "Wysylam Ping\n"; } }
#edit problem rozwiazany : P zapomnialem o listen() |
|
« 1 » |