From d77dc480d292faba02c3e6502a8ee7ca29613f3f Mon Sep 17 00:00:00 2001 From: jsrobson10 Date: Fri, 22 Mar 2019 12:38:27 +1100 Subject: [PATCH] Added license, readme, fixed and tested sockets. --- LICENSE | 21 +++++++++++++++++++++ README.md | 2 ++ lib/connections.o | Bin 944 -> 0 bytes lib/socket.cpp | 30 +++++++++++++++++++++--------- lib/socket.h | 4 ++-- lib/socks_test_client | Bin 0 -> 14592 bytes lib/socks_test_client.cpp | 13 +++++++++++++ lib/socks_test_server | Bin 0 -> 14312 bytes lib/socks_test_server.cpp | 16 ++++++++++++++++ 9 files changed, 75 insertions(+), 11 deletions(-) create mode 100644 LICENSE create mode 100644 README.md delete mode 100644 lib/connections.o create mode 100644 lib/socks_test_client create mode 100644 lib/socks_test_client.cpp create mode 100644 lib/socks_test_server create mode 100644 lib/socks_test_server.cpp diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6e23713 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Josua Robson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..77b4bdd --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# online-game +An online game created with C++ diff --git a/lib/connections.o b/lib/connections.o deleted file mode 100644 index d9dd418b129e064b641128cf6d39358de0001a5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 944 zcmbVKOHRWu5S=vTw`7OJrmUcXS}7kDu|SrpwwsDw50IEhAQUIUjszRH4%g!ZFm^nu z(Pu|v1D>N ztF1fznBKDFdfd?4y}DLr`yqV)bj9M%69L39=t@UE?%{WO_+gtDrIfkQ&!tpMR22YI z?}bh?ME%;}6RmXqrhz@CIt7*~1x%DhkxS%csdKh^*i4j8#Y?-&pP6G+m|pD$N*?&+ zde3I56Pyhfc8J?(dkXcZn1ZkVZ~X;o&7KJk-?($meG=DHpYX=x{M5eQl8$nX-}P(o rfvtTx+(R_O+|}4o1Ni6Lceim@=+Na6g!N54?7hhyyTk #include +#include #include #include #include +#include #include "socket.h" @@ -12,7 +13,7 @@ client_tcp::client_tcp(int client) sock = client; } -client_tcp::client_tcp(char *name, int port) +client_tcp::client_tcp(const char *name, int port) { // Create the TCP socket if((sock=socket(AF_INET, SOCK_STREAM, 0))<0) @@ -21,10 +22,18 @@ client_tcp::client_tcp(char *name, int port) return; } + // Set reuse_addr + int enable = 1; + if(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int)) < 0) + { + status = 2; + return; + } + // Get the server if((server = gethostbyname(name)) == NULL) { - status = 2; + status = 3; return; } @@ -33,7 +42,7 @@ client_tcp::client_tcp(char *name, int port) // Set some settings serv_addr.sin_family = AF_INET; - serv_addr.sin_port = port; + serv_addr.sin_port = htons(port); // Copy the server address to the serv_addr variable bcopy( @@ -43,14 +52,14 @@ client_tcp::client_tcp(char *name, int port) ); // Try connecting to the server - if (connect(sockfd, (struct sockaddr*)& serv_addr, sizeof(serv_addr)) < 0) + if (connect(sock, (struct sockaddr*)& serv_addr, sizeof(serv_addr)) < 0) { - status = 3; + status = 4; return; } // Set the status - status = 0 + status = 0; } client_tcp::~client_tcp() @@ -62,7 +71,10 @@ client_tcp::~client_tcp() char* client_tcp::recv(int size) { // Make the buffer - char* buffer = new char[size](); + char* buffer = new char[size+1](); + + // Clear the buffer + bzero((char*)buffer, size); // Get the data from the client bzero((char*)buffer, size); @@ -72,7 +84,7 @@ char* client_tcp::recv(int size) return buffer; } -bool client_tcp::send(char* data, int size) +bool client_tcp::send(const char* data, int size) { // Send the data write(sock, data, size); diff --git a/lib/socket.h b/lib/socket.h index 9218a94..693e0ae 100644 --- a/lib/socket.h +++ b/lib/socket.h @@ -13,8 +13,8 @@ public: ~client_tcp(); client_tcp(int client); - client_tcp(char *name, int port); - bool send(char* data, int size); + client_tcp(const char *name, int port); + bool send(const char* data, int size); char* recv(int size); }; diff --git a/lib/socks_test_client b/lib/socks_test_client new file mode 100644 index 0000000000000000000000000000000000000000..80dbc922a67cd2f4905507ce53248fdcf76ba84f GIT binary patch literal 14592 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 byp9K63AtX@U4V;n_Ip%^3jeRh#s0ql#+J=b literal 0 HcmV?d00001 diff --git a/lib/socks_test_client.cpp b/lib/socks_test_client.cpp new file mode 100644 index 0000000..78c3d8d --- /dev/null +++ b/lib/socks_test_client.cpp @@ -0,0 +1,13 @@ +#include +#include + +#include "socket.h" + +int main(int argc, char const *argv[]) +{ + client_tcp client("localhost", 12345); + std::cout << "Status: " << client.status << '\n'; + std::cout << client.recv(2) << '\n'; + + return 0; +} diff --git a/lib/socks_test_server b/lib/socks_test_server new file mode 100644 index 0000000000000000000000000000000000000000..ae44e07c6559a5d611b6425eb3651f822b0c266b GIT binary patch literal 14312 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 literal 0 HcmV?d00001 diff --git a/lib/socks_test_server.cpp b/lib/socks_test_server.cpp new file mode 100644 index 0000000..d0a4156 --- /dev/null +++ b/lib/socks_test_server.cpp @@ -0,0 +1,16 @@ +#include + +#include "socket.h" + +int main(int argc, char const *argv[]) +{ + server_tcp server(12345); + + while(1) + { + client_tcp client = server.cliaccept(); + client.send("hi", 2); + } + + return 0; +}