--- a/src/proto2/NetworkServer.cc Tue Nov 04 22:29:18 2008 +0000
+++ b/src/proto2/NetworkServer.cc Wed Nov 05 20:39:44 2008 +0000
@@ -2,6 +2,8 @@
#include <iostream>
+#include <ClanLib/network.h>
+
NetworkServer::NetworkServer (GameState *state, const CL_IPAddress &listen_ip) : NetworkBase(), state(state) {
socket.bind(listen_ip);
socket.listen(NETWORK_SERVER_BACKLOG);
@@ -10,17 +12,17 @@
listener.add_trigger(socket.get_read_trigger());
// bind slot for recv
- slot_on_recv = socket.sig_read_triggered.connect(this, &NetworkServer::_onRecv);
+ slot_on_recv = socket.sig_read_triggered().connect(this, &NetworkServer::_onRecv);
}
-static NetworkServer *NetworkServer::newServer (void) {
+NetworkServer *NetworkServer::newServer (void) {
GameState *state = new GameState(/* XXX */);
- CL_IPAddress listen_ip(NETWORK_PORT_STR);
+ CL_IPAddress listen_ip(NETWORK_PORT);
return new NetworkServer(state, listen_ip);
}
-void run (void) {
+void NetworkServer::run (void) {
bool isRunning = true;
while (isRunning) {
@@ -32,10 +34,10 @@
void NetworkServer::_onRecv (void) {
char buf[NETWORK_PACKET_MAX];
- CL_Socket src;
+ CL_IPAddress src;
int ret;
- ret = socket.recv(buf, NETWORK_PACKET_MAX, src);
+ 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;
}
@@ -44,10 +46,6 @@
}
-void NetworkServerClient::_onRecv (void) {
-
-}
-
void runNetworkServer (void) {
NetworkServer *server = NULL;
@@ -56,6 +54,11 @@
}
int main (int argc, char **argv) {
+ // setup ClanLib components
+ CL_SetupCore setup_core;
+ CL_SetupNetwork setup_network;
+
+ // create the gamestate and run the server
runNetworkServer();
return 0;