# HG changeset patch # User terom # Date 1225924171 0 # Node ID 22e3bfb6720dc643710bd9460a480671034ba25d # Parent 3fbb927c6a2785ee1495d966601ccbba9caa6fe2 NetworkServer.cc finally works as intended diff -r 3fbb927c6a27 -r 22e3bfb6720d src/proto2/NetworkServer.cc --- a/src/proto2/NetworkServer.cc Wed Nov 05 22:06:31 2008 +0000 +++ b/src/proto2/NetworkServer.cc Wed Nov 05 22:29:31 2008 +0000 @@ -1,10 +1,10 @@ #include "NetworkServer.hh" #include +#include NetworkServer::NetworkServer (GameState *state, const CL_IPAddress &listen_ip) : NetworkBase(), state(state) { socket.bind(listen_ip); - socket.listen(NETWORK_SERVER_BACKLOG); // add socket to listener listener.add_trigger(socket.get_read_trigger()); @@ -26,6 +26,7 @@ while (isRunning) { /* XXX: all I need to do? */ listener.wait(); + CL_System::keep_alive(); listener.reset_all(); } } @@ -35,9 +36,13 @@ CL_IPAddress src; int ret; + std::cout << "NetworkServer::_onRecv: recv" << std::endl; + ret = socket.recv((void*) buf, NETWORK_PACKET_MAX, src); - - std::cout << src.get_address() << ":" << src.get_port() << " <- " << std::string(buf, NETWORK_PACKET_MAX) << std::endl; + + assert(ret > 0); + + std::cout << src.get_address() << ":" << src.get_port() << " <- " << std::string(buf, ret) << std::endl; } NetworkServerClient::NetworkServerClient (NetworkServer &server) : server(server) { @@ -46,9 +51,13 @@ void runNetworkServer (void) { NetworkServer *server = NULL; - - server = NetworkServer::newServer(); - server->run(); + + try { + server = NetworkServer::newServer(); + server->run(); + } catch (CL_Error &e) { + std::cerr << "runNetworkServer: CL_Error: " << e.message << std::endl; + } } int main (int argc, char **argv) { diff -r 3fbb927c6a27 -r 22e3bfb6720d src/proto2/NetworkServer.hh --- a/src/proto2/NetworkServer.hh Wed Nov 05 22:06:31 2008 +0000 +++ b/src/proto2/NetworkServer.hh Wed Nov 05 22:29:31 2008 +0000 @@ -8,8 +8,6 @@ #include #include -#define NETWORK_SERVER_BACKLOG 8 - // forward-declare class NetworkServerClient;