Compare commits
3 Commits
v0.1
...
93bfd9d367
Author | SHA1 | Date | |
---|---|---|---|
|
93bfd9d367 | ||
|
0ff1220ca5 | ||
|
71d0c25837 |
@@ -11,8 +11,10 @@ namespace connect_code {
|
|||||||
/* Tokenizes a string, based on the given delimiter */
|
/* Tokenizes a string, based on the given delimiter */
|
||||||
std::vector<std::string> tokenize_str(std::string str, std::string delim) {
|
std::vector<std::string> tokenize_str(std::string str, std::string delim) {
|
||||||
std::vector<std::string> result;
|
std::vector<std::string> result;
|
||||||
char* c_str = str.data();
|
/* &str[0] is used to convert an std::string to a char*. I tried using string.data(),
|
||||||
char* c_delim = delim.data();
|
but that appears to return a const char*. */
|
||||||
|
char* c_str = &str[0];
|
||||||
|
char* c_delim = &delim[0];
|
||||||
|
|
||||||
char* tok = strtok(c_str, c_delim);
|
char* tok = strtok(c_str, c_delim);
|
||||||
while (tok != NULL) {
|
while (tok != NULL) {
|
||||||
|
@@ -59,7 +59,7 @@ SOCKET create_socket(int network, char transport) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int create_addr(int network, char* address, int port,struct sockaddr* dest) {
|
int create_addr(int network, const char* address, int port,struct sockaddr* dest) {
|
||||||
if (network == 4) {
|
if (network == 4) {
|
||||||
struct sockaddr_in listen_address;
|
struct sockaddr_in listen_address;
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ int create_addr(int network, char* address, int port,struct sockaddr* dest) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SOCKET create_local (int network, char transport, char* address, int port,struct sockaddr* addr_struct) {
|
SOCKET create_local (int network, char transport, const char* address, int port,struct sockaddr* addr_struct) {
|
||||||
int socket = create_socket(network,transport);
|
int socket = create_socket(network,transport);
|
||||||
if (socket < 0) {
|
if (socket < 0) {
|
||||||
return (-1 * errno);
|
return (-1 * errno);
|
||||||
@@ -109,7 +109,7 @@ SOCKET create_local (int network, char transport, char* address, int port,struct
|
|||||||
return socket;
|
return socket;
|
||||||
}
|
}
|
||||||
|
|
||||||
SOCKET create_remote (int network,char transport,char* address,int port,struct sockaddr* remote_addr_struct) {
|
SOCKET create_remote (int network,char transport, const char* address,int port,struct sockaddr* remote_addr_struct) {
|
||||||
|
|
||||||
struct addrinfo hints; /* Used to tell getaddrinfo what kind of address we want */
|
struct addrinfo hints; /* Used to tell getaddrinfo what kind of address we want */
|
||||||
struct addrinfo* results; /* Used by getaddrinfo to store the addresses */
|
struct addrinfo* results; /* Used by getaddrinfo to store the addresses */
|
||||||
|
@@ -44,7 +44,7 @@ and dest is a pointer to the sockaddr struct that will be filled in.
|
|||||||
The function returns with -202 if the network parameter contained neither '4'
|
The function returns with -202 if the network parameter contained neither '4'
|
||||||
nor '6'. */
|
nor '6'. */
|
||||||
|
|
||||||
int create_addr(int network, char* address, int port,struct sockaddr* dest);
|
int create_addr(int network, const char* address, int port,struct sockaddr* dest);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ same as above.
|
|||||||
|
|
||||||
It prints the error returned by 'bind' if something went wrong, and returns ( -1 * errno ).*/
|
It prints the error returned by 'bind' if something went wrong, and returns ( -1 * errno ).*/
|
||||||
|
|
||||||
SOCKET create_local (int network, char transport, char* address, int port,struct sockaddr* addr_struct);
|
SOCKET create_local (int network, char transport, const char* address, int port,struct sockaddr* addr_struct);
|
||||||
|
|
||||||
|
|
||||||
/* This function utilizes the same functions as 'create_local' but _connects_ to the
|
/* This function utilizes the same functions as 'create_local' but _connects_ to the
|
||||||
@@ -63,7 +63,7 @@ as above. This function needs an empty 'sockaddr *' structure passed to it, whic
|
|||||||
|
|
||||||
If something goes wrong, this function returns with ( -1 * errno ). */
|
If something goes wrong, this function returns with ( -1 * errno ). */
|
||||||
|
|
||||||
SOCKET create_remote (int network,char transport,char* address,int port,struct sockaddr* remote_addr_struct);
|
SOCKET create_remote (int network,char transport, const char* address,int port,struct sockaddr* remote_addr_struct);
|
||||||
|
|
||||||
/* check_ip_ver - This function checks if the given string is an IPv4 address (returns 4),
|
/* check_ip_ver - This function checks if the given string is an IPv4 address (returns 4),
|
||||||
IPv6 address (returns 6) or neither (returns -1). */
|
IPv6 address (returns 6) or neither (returns -1). */
|
||||||
|
@@ -34,6 +34,9 @@ public:
|
|||||||
/* Default constructor */
|
/* Default constructor */
|
||||||
Sock() {}
|
Sock() {}
|
||||||
|
|
||||||
|
/* Virtual destructor */
|
||||||
|
virtual ~Sock();
|
||||||
|
|
||||||
/* Regular constructor - defined in sock.cpp */
|
/* Regular constructor - defined in sock.cpp */
|
||||||
Sock(int ip_ver, char protocol, const char* address, int port);
|
Sock(int ip_ver, char protocol, const char* address, int port);
|
||||||
|
|
||||||
|
4
sock.cpp
4
sock.cpp
@@ -13,6 +13,10 @@ void Sock::create_socket() {
|
|||||||
addrlen = sizeof(*dest);
|
addrlen = sizeof(*dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Virtual destructor, allows 'Server' and 'Client' to override this destructor */
|
||||||
|
Sock::~Sock() {}
|
||||||
|
|
||||||
|
|
||||||
/* Constructor - This function initializes the object attributes with the given
|
/* Constructor - This function initializes the object attributes with the given
|
||||||
parameters. It throws an exception if an IPv4 address was given, but the type
|
parameters. It throws an exception if an IPv4 address was given, but the type
|
||||||
given is IPv6 (or the other way around). */
|
given is IPv6 (or the other way around). */
|
||||||
|
Reference in New Issue
Block a user