project_files/frontlib/socket.c
changeset 7177 bf6cf4dd847a
parent 7175 038e3415100a
child 7179 f84805e6df03
equal deleted inserted replaced
7175:038e3415100a 7177:bf6cf4dd847a
    58 		SDLNet_Write16(port, &addr.port);
    58 		SDLNet_Write16(port, &addr.port);
    59 		result->sock = SDLNet_TCP_Open(&addr);
    59 		result->sock = SDLNet_TCP_Open(&addr);
    60 		if(result->sock) {
    60 		if(result->sock) {
    61 			return result;
    61 			return result;
    62 		} else {
    62 		} else {
    63 			flib_log_e("Unable to listen on port %u: %s", port, SDLNet_GetError());
    63 			flib_log_e("Unable to listen on port %u: %s", (unsigned)port, SDLNet_GetError());
    64 			free(result);
    64 			free(result);
    65 			return NULL;
    65 			return NULL;
    66 		}
    66 		}
    67 	} else {
    67 	} else {
    68 		/* SDL_net does not seem to have a way to listen on a random unused port
    68 		/* SDL_net does not seem to have a way to listen on a random unused port
    75 			SDLNet_Write16(result->port, &addr.port);
    75 			SDLNet_Write16(result->port, &addr.port);
    76 			result->sock = SDLNet_TCP_Open(&addr);
    76 			result->sock = SDLNet_TCP_Open(&addr);
    77 			if(result->sock) {
    77 			if(result->sock) {
    78 				return result;
    78 				return result;
    79 			} else {
    79 			} else {
    80 				flib_log_w("Unable to listen on port %u: %s", result->port, SDLNet_GetError());
    80 				flib_log_w("Unable to listen on port %u: %s", (unsigned)result->port, SDLNet_GetError());
    81 			}
    81 			}
    82 		}
    82 		}
    83 		flib_log_e("Unable to listen on a random unused port.");
    83 		flib_log_e("Unable to listen on a random unused port.");
    84 		free(result);
    84 		free(result);
    85 		return NULL;
    85 		return NULL;
   153 		flib_log_e("Error in select system call: %s", SDLNet_GetError());
   153 		flib_log_e("Error in select system call: %s", SDLNet_GetError());
   154 		return -1;
   154 		return -1;
   155 	}
   155 	}
   156 }
   156 }
   157 
   157 
   158 int flib_socket_send(flib_tcpsocket sock, void *data, int len) {
   158 int flib_socket_send(flib_tcpsocket sock, const void *data, int len) {
   159 	if(!sock || (len>0 && !data)) {
   159 	if(!sock || (len>0 && !data)) {
   160 		flib_log_e("Call to flib_socket_send with sock==null or data==null");
   160 		flib_log_e("Call to flib_socket_send with sock==null or data==null");
   161 		return -1;
   161 		return -1;
   162 	}
   162 	}
   163 	return SDLNet_TCP_Send(sock->sock, data, len);
   163 	return SDLNet_TCP_Send(sock->sock, data, len);