From 28f5bba7f4cce3cec74edfec4af1209ca1412cdd Mon Sep 17 00:00:00 2001 From: Logan Nguyen Date: Tue, 22 Mar 2022 19:57:15 -0400 Subject: [PATCH] Fixed quitting error. --- .../Application/TCPBeaconsClient.exe | Bin 142848 -> 142848 bytes .../Application/TCPBeaconsServer.exe | Bin 162304 -> 162304 bytes utilities/TCPBeacons_CPP/TCPBeacons/main.cpp | 11 +--- utilities/TCPBeacons_CPP/TCPBeaconsClient.exe | Bin 0 -> 164864 bytes .../TCPBeacons_CPP/TCPBeaconsServer/main.cpp | 56 ++++++++++++++---- 5 files changed, 44 insertions(+), 23 deletions(-) create mode 100644 utilities/TCPBeacons_CPP/TCPBeaconsClient.exe diff --git a/utilities/TCPBeacons_CPP/Application/TCPBeaconsClient.exe b/utilities/TCPBeacons_CPP/Application/TCPBeaconsClient.exe index 3d232ab59f037689c22570fa7e742622962d55e2..56ab7a9fea5aafba062cdc5503b193540130b1fb 100644 GIT binary patch delta 470 zcmXYsJxH5D7{{OIOf(HhMT{TuMMJt2vIshe2O=pc9SlT=QpAARjvXwxh=C-y1mb~T z@QS!eTUs0{lwJgpqzx*Hk|Bdb2Bj2E5{E(&sq&uBskhwkcmIdu|D-CORK>G!%|5(Z z{J-|3+z8Nr#-QIW9H2F~jdB}t!-unWybW{sQ?|C_5wa_n{ksEC(ULoUe2bWq0Sg1n zt9_N`7r_6i*Y-pgb|$Ztqho61!qIa@*IwkdL5P^6wJKH}O_Y@1x~Y=H`;l8sM?_0%inPkAtT#WJJ&p-qdnoJ%wO)0W)9>4o zKd3{xSoQ<(np&zkI{PR7>uEQ50U!_xLy3N|h|9#Ak9kf5t*~0(; delta 486 zcmXYuT_}T57{||Z7_%tJe9U6aB^Sblb|ldXwJf=iD5aEgNl}XBBQ>X9p||8hxj-#( z{!eE%VVzA_wQsuDy7IG;7cU^B>4}mi z{p<>ya}h8i0NZw0(FaQ*3~{5R3~qqtTlAN5h(o<`?0{i_JHzD!7j*>}*3we?rCk)Y z6ZR>(-%T0(l=ehMTlKC=sF-;crt}N;X3Du}_Juc{%emi_QtT&9iJHUtxYFH^Kecea ztW?WPDdz`DNAPJ31NSY7iOh&_Ur3B1UwW~Hl-w5+{isQrqz$J%!CODK*VeRIh*(UT ztAVl7nJw%Ph~7I0VJR`4!m_V}=bDWW(pb|*V)%v=Ss;i0`5AfXpA*QcOBgc`$f~Bw z$B@+qg~(UPYB_a(f*i(X8W0jeo-RgFp#zkGl#~P|WUN<#HOn}3LvROwMQ^zV2cAa% zHB{OFjH!FL@j+Dgx@n-I)6?hq^3<_r*1>w&5F2BYY@TUslkMt{Zt4bdR87;iUrTc5 Ao&W#< diff --git a/utilities/TCPBeacons_CPP/Application/TCPBeaconsServer.exe b/utilities/TCPBeacons_CPP/Application/TCPBeaconsServer.exe index d0abdd6ca42e38556e9aa682ff93b08b67ca7b05..2b0aa599570f8654cdfceb9c28fb9f1c1be00e4c 100644 GIT binary patch delta 42091 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

R*a+e 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 diff --git a/utilities/TCPBeacons_CPP/TCPBeacons/main.cpp b/utilities/TCPBeacons_CPP/TCPBeacons/main.cpp index 2950013..32319f5 100644 --- a/utilities/TCPBeacons_CPP/TCPBeacons/main.cpp +++ b/utilities/TCPBeacons_CPP/TCPBeacons/main.cpp @@ -84,9 +84,6 @@ int __cdecl main(int argc, char* argv[]) } - - - // >>>>>>> TCP/IP HANDLER <<<<<<< std::string ipAddress = "127.0.0.1"; // ip of the server @@ -131,8 +128,7 @@ int __cdecl main(int argc, char* argv[]) } - - // Send Beacons to TCP server then receive the beacons from server and echo out + // Send Beacons to TCP server then echo the beacons from server bool exit = false; char buf[4096]; @@ -167,12 +163,7 @@ int __cdecl main(int argc, char* argv[]) } - - std::cout << "Stopping TCP/IP Connection to the Server." << std::endl; closesocket(sock_); WSACleanup(); - - - std::this_thread::sleep_for(std::chrono::seconds(5)); } \ No newline at end of file diff --git a/utilities/TCPBeacons_CPP/TCPBeaconsClient.exe b/utilities/TCPBeacons_CPP/TCPBeaconsClient.exe new file mode 100644 index 0000000000000000000000000000000000000000..227ddcf7caca9e5b1c39c6cc529720c149ae0826 GIT binary patch literal 164864 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 literal 0 HcmV?d00001 diff --git a/utilities/TCPBeacons_CPP/TCPBeaconsServer/main.cpp b/utilities/TCPBeacons_CPP/TCPBeaconsServer/main.cpp index aa44c32..00ace7d 100644 --- a/utilities/TCPBeacons_CPP/TCPBeaconsServer/main.cpp +++ b/utilities/TCPBeacons_CPP/TCPBeaconsServer/main.cpp @@ -18,11 +18,10 @@ #define LISTENING_PORT 1901 + void sendBeacons(SOCKET sock_, std::vector beacons, int innerDelay, int outerDelay) { bool exit = false; - char buf[4096]; - while (exit == false) { for (std::size_t i = 0; i < beacons.size(); i++) @@ -32,20 +31,48 @@ void sendBeacons(SOCKET sock_, std::vector beacons, int innerDelay, // send beacons to client send(sock_, beacons[i].c_str(), beacons[i].size() + 1, 0); + // exit when user hit esc + if (GetAsyncKeyState(VK_ESCAPE)) { + exit = true; + break; + } + Sleep(innerDelay); + + } + } + + Sleep(outerDelay); + } + +} + +void receiveBeacons(SOCKET sock_, std::vector beacons, int innerDelay, int outerDelay) +{ + bool exit = false; + char buf[4096]; + + while (exit == false) + { + for (std::size_t i = 0; i < beacons.size(); i++) + { + if (sock_ != SOCKET_ERROR) + { + // echo beacons sent from client ZeroMemory(buf, 4096); int byteRecv = recv(sock_, buf, 4096, 0); - if (byteRecv == SOCKET_ERROR) - { - std::cerr << "Error in recv(). Quitting" << std::endl; - break; - } if (byteRecv == 0) { std::cout << "Client disconnected" << std::endl; + if (byteRecv == SOCKET_ERROR) + { + std::cerr << "Error in recv(). Quitting" << std::endl; + break; + } + break; } - + // echo the message std::cout << std::string(buf, 0, byteRecv) << std::endl; @@ -58,9 +85,10 @@ void sendBeacons(SOCKET sock_, std::vector beacons, int innerDelay, } } + Sleep(outerDelay); } - + } int __cdecl main(int argc, char* argv[]) @@ -222,21 +250,23 @@ int __cdecl main(int argc, char* argv[]) // Send beacons to clients std::cout << std::endl; - std::cout << "Sending TCP/IP beacons to " << host << "starts now!" << std::endl; + std::cout << "Sending TCP/IP beacons to " << host << "! Start now!" << std::endl; bool exit = false; char buf[4096]; // Server sends beacons to clients through multi threads - std::thread th(sendBeacons, clientSocket, beacons, innerDelay, outerDelay); - th.detach(); + std::thread sendThread(sendBeacons, clientSocket, beacons, innerDelay, outerDelay); + sendThread.detach(); + std::thread recvThread(receiveBeacons, clientSocket, beacons, innerDelay, outerDelay); + recvThread.detach(); } } + } - // Cleanup winsock WSACleanup(); system("pause");