Fixed error messages
This commit is contained in:
parent
db77e0f986
commit
b80e1ad3b4
4 changed files with 31 additions and 13 deletions
|
@ -24,14 +24,16 @@ struct addrinfo* tcp_createIPv4Socket(SOCKET *s,int port,bool wildcard){
|
||||||
sprintf( sport, "%d", port);
|
sprintf( sport, "%d", port);
|
||||||
int res = getaddrinfo(NULL, sport, &hint, &result);
|
int res = getaddrinfo(NULL, sport, &hint, &result);
|
||||||
if (res != 0) {
|
if (res != 0) {
|
||||||
logger_log("Error creating address information! Error code: %d", errno);
|
logger_log("Error creating address information!");
|
||||||
|
printLastError();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Creating listening socket
|
//Creating listening socket
|
||||||
*s = socket(result->ai_family, result->ai_socktype, result->ai_protocol);
|
*s = socket(result->ai_family, result->ai_socktype, result->ai_protocol);
|
||||||
if (*s == INVALID_SOCKET) {
|
if (*s == INVALID_SOCKET) {
|
||||||
logger_log("Error creating socket! Error: %d", errno);
|
logger_log("Error creating socket!");
|
||||||
|
printLastError();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
@ -41,12 +43,7 @@ int tcp_bindnlisten(SOCKET s,struct addrinfo* addr,int conn_count){
|
||||||
int res = bind(s, addr->ai_addr, addr->ai_addrlen);
|
int res = bind(s, addr->ai_addr, addr->ai_addrlen);
|
||||||
if (res == SOCKET_ERROR) {
|
if (res == SOCKET_ERROR) {
|
||||||
logger_log("Error binding socket!");
|
logger_log("Error binding socket!");
|
||||||
int r = errno;
|
printLastError();
|
||||||
switch(r){
|
|
||||||
default:
|
|
||||||
logger_log("Error: %s",strerror(errno));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
freeaddrinfo(addr);
|
freeaddrinfo(addr);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -55,7 +52,8 @@ int tcp_bindnlisten(SOCKET s,struct addrinfo* addr,int conn_count){
|
||||||
|
|
||||||
res = listen(s, conn_count);
|
res = listen(s, conn_count);
|
||||||
if (res == -1) {
|
if (res == -1) {
|
||||||
logger_log("Error starting listening! Error: %d", errno);
|
logger_log("Error starting listening!");
|
||||||
|
printLastError();
|
||||||
closesocket(s);
|
closesocket(s);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
@ -66,7 +64,8 @@ struct sockaddr_in tcp_getAddr_in(SOCKET s) {
|
||||||
struct sockaddr_in sin;
|
struct sockaddr_in sin;
|
||||||
socklen_t len = sizeof(sin);
|
socklen_t len = sizeof(sin);
|
||||||
if (getsockname(s, (struct sockaddr *) &sin, &len) == -1) {
|
if (getsockname(s, (struct sockaddr *) &sin, &len) == -1) {
|
||||||
logger_log("Error at getsockname!Error code: %d", errno);
|
logger_log("Error at getsockname!");
|
||||||
|
printLastError();
|
||||||
closesocket(s);
|
closesocket(s);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
@ -76,6 +75,21 @@ int tcp_getSockPort(SOCKET s){
|
||||||
struct sockaddr_in sin = tcp_getAddr_in(s);
|
struct sockaddr_in sin = tcp_getAddr_in(s);
|
||||||
return ntohs(sin.sin_port);
|
return ntohs(sin.sin_port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void printLastError() {
|
||||||
|
#ifdef _WIN32
|
||||||
|
wchar_t *s = NULL;
|
||||||
|
FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||||
|
NULL, WSAGetLastError(),
|
||||||
|
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
||||||
|
(LPWSTR)&s, 0, NULL);
|
||||||
|
logger_log("%S\n", s);
|
||||||
|
LocalFree(s);
|
||||||
|
#else
|
||||||
|
logger_log("%s", strerror(errno));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__CYGWIN__)
|
#if defined(__linux__) || defined(__CYGWIN__)
|
||||||
int closesocket(SOCKET s) {
|
int closesocket(SOCKET s) {
|
||||||
return close(s);
|
return close(s);
|
||||||
|
|
|
@ -47,4 +47,6 @@ struct sockaddr_in tcp_getAddr_in(SOCKET socket);
|
||||||
* @param[in] socket
|
* @param[in] socket
|
||||||
* @return A socket portszáma
|
* @return A socket portszáma
|
||||||
*/
|
*/
|
||||||
int tcp_getSockPort(SOCKET socket);
|
int tcp_getSockPort(SOCKET socket);
|
||||||
|
|
||||||
|
void printLastError();
|
1
main.c
1
main.c
|
@ -39,6 +39,7 @@ int main(void) {
|
||||||
int r1 = WSAStartup(MAKEWORD(2,2),&ws);
|
int r1 = WSAStartup(MAKEWORD(2,2),&ws);
|
||||||
if(r1 != 0){
|
if(r1 != 0){
|
||||||
logger_log("Error at WSAStartup.");
|
logger_log("Error at WSAStartup.");
|
||||||
|
printLastError();
|
||||||
free(config.pairs);
|
free(config.pairs);
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,7 +183,7 @@ static int webio_handleGETrequest(SOCKET client, WebIO wio, char *file) {
|
||||||
char puf[len];
|
char puf[len];
|
||||||
while (total_bytes_sent < length) {
|
while (total_bytes_sent < length) {
|
||||||
bytes_sent = sendfile(client,fd,0,length);
|
bytes_sent = sendfile(client,fd,0,length);
|
||||||
if(bytes_sent == -1) logger_log("Error: %s",strerror(errno));
|
if(bytes_sent == -1) printLastError();
|
||||||
total_bytes_sent += bytes_sent;
|
total_bytes_sent += bytes_sent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -232,7 +232,8 @@ static int webio_handlePOSTrequest(SOCKET client, WebIO wio, Map post) {
|
||||||
sprintf(buf, "@message=%s", map_getValue(post, "message"));
|
sprintf(buf, "@message=%s", map_getValue(post, "message"));
|
||||||
res = send(wio.list->array[i].socket, buf, DEFAULT_BUFLEN, 0);
|
res = send(wio.list->array[i].socket, buf, DEFAULT_BUFLEN, 0);
|
||||||
if (res == SOCKET_ERROR) {
|
if (res == SOCKET_ERROR) {
|
||||||
logger_log("Error sending message.Error: %d", errno);
|
logger_log("Error sending message!");
|
||||||
|
printLastError();
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
logger_log("Message sent to %s", map_getValue(post, "id"));
|
logger_log("Message sent to %s", map_getValue(post, "id"));
|
||||||
|
|
Loading…
Reference in a new issue