diff --git a/Makefile b/Makefile index 3d28093..0c54abe 100644 --- a/Makefile +++ b/Makefile @@ -80,6 +80,6 @@ test: comp comp: server_c client_c server_c: - gcc src/F4Server.c src/custom_sem.c src/custom_shm.c src/custom_sig.c src/custom_msgq.c src/errExit.c src/forza4.c src/server.c -o bin/F4Server -I inc/ + gcc src/F4Server.c src/custom_sem.c src/custom_shm.c src/custom_sig.c src/custom_msgq.c src/errExit.c src/forza4.c src/client.c src/server.c -o bin/F4Server -I inc/ client_c: gcc src/F4Client.c src/custom_sem.c src/custom_shm.c src/custom_sig.c src/custom_msgq.c src/errExit.c src/forza4.c src/client.c src/server.c -o bin/F4Client -I inc/ \ No newline at end of file diff --git a/inc/client.h b/inc/client.h index 35aaf7e..bdf4a8f 100644 --- a/inc/client.h +++ b/inc/client.h @@ -1,8 +1,7 @@ #ifndef CLIENT_H #define CLIENT_H - -msg_t msg; +extern int ID; void setupClient(int argc, char *argv[]); diff --git a/src/F4Client.c b/src/F4Client.c index 32e70de..d8a9d08 100644 --- a/src/F4Client.c +++ b/src/F4Client.c @@ -25,25 +25,24 @@ int main(int argc, char *argv[]){ printf("Il mio pid per killarmi: %d\n", getpid()); //TMP - msg_t msg; setupClient(argc, argv); - printf("fin qua funzia (spero) %d\n", _SEMID); - scanf("%d"); - // aspetto che il server mi dia il permesso di collegarmi e segnalo collegamento al server - semOp(_SEMID, msg.player_id, -1); + printf("fin qua funzia (spero) %d\n", ID); + scanf("%d"); + semOp(_SEMID, ID, -1); printf(PCLIENT "Connecting to server...\n"); semOp(_SEMID, 2, 1); + // mando i miei dati al server - player_ds player = {.mtype = 3, .id = msg.player_id, .pid = getpid()}; + player_ds player = {.mtype = 3, .id = ID, .pid = getpid()}; strcpy(player.name_player, argv[1]); sndPlayer(&player); printf(PCLIENT "Searching for oponent...\n"); - semOp(_SEMID, msg.player_id, -1); + semOp(_SEMID, ID, -1); printf(PCLIENT "Opponent found\n"); @@ -54,7 +53,7 @@ int main(int argc, char *argv[]){ while (1) { // aspetto il mio turno - semOp(_SEMID, msg.player_id, -1); // mettere id eccetera in var + semOp(_SEMID, ID, -1); // mettere id eccetera in var printBoard(_BOARD); // input e controllo @@ -69,7 +68,7 @@ int main(int argc, char *argv[]){ // mando mossa al server sndMove(&move); - semOp(_SEMID, msg.player_id, -1); + semOp(_SEMID, ID, -1); printBoard(_BOARD); printf(PCLIENT "Waiting for oponent\n"); //FIXME: solo se la partita non รจ finita diff --git a/src/client.c b/src/client.c index 5c959c4..d883ea6 100644 --- a/src/client.c +++ b/src/client.c @@ -16,6 +16,8 @@ #include #include +int ID; + void checkClientinput(int argc, char *argv[]); void setupClient(int argc, char *argv[]) { diff --git a/src/custom_msgq.c b/src/custom_msgq.c index afbea7e..524bae4 100644 --- a/src/custom_msgq.c +++ b/src/custom_msgq.c @@ -49,11 +49,14 @@ void sndId() { void rcvId() { printf(PCLIENT "Waiting for message...\n"); + + msg_t msg; rcvMsg(&msg); setRows(msg.server_in.rows); setCollums(msg.server_in.collums); setTokens(msg.server_in.player1Token, msg.server_in.player2Token); + ID = msg.player_id; }