Compare commits
3 Commits
master
...
93bfd9d367
Author | SHA1 | Date | |
---|---|---|---|
|
93bfd9d367 | ||
|
0ff1220ca5 | ||
|
71d0c25837 |
@@ -11,8 +11,10 @@ namespace connect_code {
|
||||
/* Tokenizes a string, based on the given delimiter */
|
||||
std::vector<std::string> tokenize_str(std::string str, std::string delim) {
|
||||
std::vector<std::string> result;
|
||||
char* c_str = str.data();
|
||||
char* c_delim = delim.data();
|
||||
/* &str[0] is used to convert an std::string to a char*. I tried using string.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);
|
||||
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) {
|
||||
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);
|
||||
if (socket < 0) {
|
||||
return (-1 * errno);
|
||||
@@ -109,7 +109,7 @@ SOCKET create_local (int network, char transport, char* address, int port,struct
|
||||
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* 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'
|
||||
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 ).*/
|
||||
|
||||
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
|
||||
@@ -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 ). */
|
||||
|
||||
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),
|
||||
IPv6 address (returns 6) or neither (returns -1). */
|
||||
|
@@ -34,6 +34,9 @@ public:
|
||||
/* Default constructor */
|
||||
Sock() {}
|
||||
|
||||
/* Virtual destructor */
|
||||
virtual ~Sock();
|
||||
|
||||
/* Regular constructor - defined in sock.cpp */
|
||||
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);
|
||||
}
|
||||
|
||||
/* Virtual destructor, allows 'Server' and 'Client' to override this destructor */
|
||||
Sock::~Sock() {}
|
||||
|
||||
|
||||
/* Constructor - This function initializes the object attributes with the given
|
||||
parameters. It throws an exception if an IPv4 address was given, but the type
|
||||
given is IPv6 (or the other way around). */
|
||||
|
Reference in New Issue
Block a user