From 17c6e6fc0e91e4e6712f673c57c4b1e3e82809cb Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Fri, 25 Jan 2019 07:13:50 +0100 Subject: [PATCH] client specific communication - now multiple clients can connect simulteneously --- Server.pde | 17 ++++++++--------- data/client/main_citizenlist | Bin 94592 -> 94688 bytes data/client/main_citizenlist.cpp | 11 +++++++---- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/Server.pde b/Server.pde index e90a6ef..13328f4 100644 --- a/Server.pde +++ b/Server.pde @@ -1,43 +1,42 @@ String s_map[]; //send this via tcp - int i_citizenTransferC; void clientCommunication() { client = server.available(); if (client != null) { s_fromClient = client.readString(); if (s_fromClient.equals("give citizenC")) { - server.write(str(citizen.length)); + client.write(str(citizen.length)); } if (s_fromClient.equals("give citizen")) { if(i_citizenTransferC >= citizen.length) i_citizenTransferC = 0; - server.write("Name: " + citizen[i_citizenTransferC].s_name + ", Gender: " + citizen[i_citizenTransferC].s_gender + ", Age: " + str(citizen[i_citizenTransferC].i_age) + ", Currently doing: " + citizen[i_citizenTransferC].s_currentAction); + client.write("Name: " + citizen[i_citizenTransferC].s_name + ", Gender: " + citizen[i_citizenTransferC].s_gender + ", Age: " + str(citizen[i_citizenTransferC].i_age) + ", Currently doing: " + citizen[i_citizenTransferC].s_currentAction); i_citizenTransferC++; } if (s_fromClient.contains("give locx")) { String[] list = split(s_fromClient, ':'); int requestedCitizen = int(list[1]); - server.write(str(citizen[requestedCitizen].f_xPos/i_sMapReso)); + client.write(str(citizen[requestedCitizen].f_xPos/i_sMapReso)); } if (s_fromClient.contains("give locy")) { String[] list = split(s_fromClient, ':'); int requestedCitizen = int(list[1]); - server.write(str(citizen[requestedCitizen].f_yPos/i_sMapReso)); + client.write(str(citizen[requestedCitizen].f_yPos/i_sMapReso)); } if (s_fromClient.contains("give a")) { String[] list = split(s_fromClient, ':'); int requestedCitizen = int(list[1]); - server.write(str(citizen[requestedCitizen].f_angle)); + client.write(str(citizen[requestedCitizen].f_angle)); } if (s_fromClient.equals("give mapw")) { - server.write(str(img_houses.width/i_sMapReso)); + client.write(str(img_houses.width/i_sMapReso)); } if (s_fromClient.equals("give maph")) { - server.write(str(img_houses.height/i_sMapReso)); + client.write(str(img_houses.height/i_sMapReso)); } if (i_mapLevelTransferC >= img_houses.height/i_sMapReso) i_mapLevelTransferC = 0; if (s_fromClient.equals("give map")) { - server.write(s_map[i_mapLevelTransferC]); + client.write(s_map[i_mapLevelTransferC]); i_mapLevelTransferC++; } } diff --git a/data/client/main_citizenlist b/data/client/main_citizenlist index e55a150f3be07ac437aa72e9dae6de2a848e568d..e7918aa7befd5b50533bcf33ce1c2e0b9b3703a4 100755 GIT binary patch delta 22386 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 delta 22226 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 C-oYaP diff --git a/data/client/main_citizenlist.cpp b/data/client/main_citizenlist.cpp index 4e39d48..6b53586 100644 --- a/data/client/main_citizenlist.cpp +++ b/data/client/main_citizenlist.cpp @@ -94,9 +94,8 @@ int main(){ tcgetattr(STDIN_FILENO, &ttystate); ttystate.c_lflag &= (~ICANON & ~ECHO); //not display character || is this in conflict with what ncurses does in keyListener()? ttystate.c_cc[VMIN] = 1; - tcsetattr(STDIN_FILENO, TCSANOW, &ttystate); + tcsetattr(STDIN_FILENO, TCSANOW, &ttystate); */ fputs("\e[?25h", stdout); //show cursor agein - fputs("\e[?25l", stdout); //remove cursor */ system("kbdrate -d 250 -r 10"); struct winsize size; ioctl(STDOUT_FILENO,TIOCGWINSZ,&size); @@ -169,8 +168,8 @@ int main(){ char bufferMap[4096] = {0}; send(sock , mapRequest , strlen(mapRequest) , 0 ); int getmap = read( sock , bufferMap, 4096); - map += ("%s\n",bufferMap ); //IS THIS WHERE IT BECOMES BROKEN!???!?!??!?! I THINK SO - map.pop_back(); //OR THIS! CAN BE FIXED BY KILLING THE BUG ABOVE + map += ("%s\n",bufferMap ); + map.pop_back(); } //PREPARE MINIMAP @@ -188,6 +187,10 @@ int main(){ auto tp1 = clock::now(); auto tp2 = clock::now(); + + + + fputs("\e[?25l", stdout); //remove cursor /////////////////////////////////////////////////////////// ////////BEGINDRAW///// ///////////////////////////////////////////////////////////