--- 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 <iostream>
+#include <cassert>
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) {
--- 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 <map>
#include <ClanLib/core.h>
-#define NETWORK_SERVER_BACKLOG 8
-
// forward-declare
class NetworkServerClient;