src/proto2/NetworkServer.cc
changeset 15 7710cce889b2
parent 14 22e3bfb6720d
child 21 32c6cc55256a
--- a/src/proto2/NetworkServer.cc	Wed Nov 05 22:29:31 2008 +0000
+++ b/src/proto2/NetworkServer.cc	Thu Nov 06 22:23:59 2008 +0000
@@ -1,4 +1,5 @@
 #include "NetworkServer.hh"
+#include "Protocol.hh"
 
 #include <iostream>
 #include <cassert>
@@ -32,17 +33,28 @@
 }
 
 void NetworkServer::_onRecv (void) {
-	char buf[NETWORK_PACKET_MAX];
-	CL_IPAddress src;
-	int ret;
+    NetworkPacket pkt;
 
-	std::cout << "NetworkServer::_onRecv: recv" << std::endl;
+    pkt.recvFromSocket(socket);
 
-	ret = socket.recv((void*) buf, NETWORK_PACKET_MAX, src);
+	std::cout << pkt.src.get_address() << ":" << pkt.src.get_port() << " <- ";
+    
+    enum packet_type type = pkt.read_pkt_type();
 
-	assert(ret > 0);
+    switch (type) {
+        case PKT_HELLO: 
+        {
+            pkt_Hello hello(pkt);
 
-	std::cout << src.get_address() << ":" << src.get_port() << " <- " << std::string(buf, ret) << std::endl;
+            std::cout << "\tPKT_HELLO: " << hello.player_id << std::endl;
+        } break;
+
+        default:
+        {
+            std::cout << "\t???:" << type << std::endl;
+
+        } break;
+    }    
 }
 		
 NetworkServerClient::NetworkServerClient (NetworkServer &server) : server(server) {