From eb85af9919e5d15a30fa429048d91fbfa8ad9048 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Sat, 15 Jan 2011 03:11:04 +0100 Subject: add available server/client functionality to main --- src/main.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++--- src/net.c | 4 ++-- 2 files changed, 52 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/main.c b/src/main.c index c6d398b..0687c9c 100644 --- a/src/main.c +++ b/src/main.c @@ -2,10 +2,12 @@ #include #include "ui.h" #include "game.h" +#include "net.h" +#include "player.h" int main(int argc, char **argv) { - uint16_t port = 0; + char* port = 0; char *addr; bool servermode = false; @@ -16,13 +18,58 @@ int main(int argc, char **argv) } else if (argc == 2) // Server mode { + int ssock; + int* csocks; + struct player_list players; + int opponents = 3; + char* nickname = "deki"; servermode = true; - port = atoi(argv[1]); + port = argv[1]; + + // start listening + ssock = server_start("12345"); + + // accept client connections + csocks = server_get_players(ssock, opponents); + + players.count = opponents + 1; + players.names[0] = nickname; + + for(int i=0; icount; i++) + printf("Player %d: %s\n", i, players->names[i]); + + close(sock); + free(players); } ui_init(); diff --git a/src/net.c b/src/net.c index 46331f1..8c80c2b 100644 --- a/src/net.c +++ b/src/net.c @@ -225,7 +225,7 @@ void server_start_game(int* clients, const uint8_t clientcount, const struct pla * @param[in] sock Socket to use * @return Username of client */ -char* server_recv_hello(int sock) +static char* server_recv_hello(int sock) { char buf[12], *name; uint8_t namelen; @@ -276,7 +276,7 @@ void* server_recv(int sock, uint8_t wanted) return result; } -struct player_list* client_recv_player_list(int sock) +static struct player_list* client_recv_player_list(int sock) { uint8_t buf[200]; struct player_list* players; -- cgit v1.2.3