| 16 |
***************************************************************************/ |
***************************************************************************/ |
| 17 |
|
|
| 18 |
#include "common.h" |
#include "common.h" |
|
#include <netinet/in.h> |
|
|
#include <netdb.h> |
|
| 19 |
|
|
| 20 |
int |
int |
| 21 |
net_server (const char *hostaddr, unsigned int port) |
net_server (const char *hostaddr, unsigned int port) |
| 39 |
|
|
| 40 |
if (bind (sock_server, (struct sockaddr *)&sin, sizeof(sin)) < 0) |
if (bind (sock_server, (struct sockaddr *)&sin, sizeof(sin)) < 0) |
| 41 |
{ |
{ |
| 42 |
log_error ("Bind address failed\n"); |
sprintf(temp, "Bind address %s:%u failed\n", |
| 43 |
|
inet_ntoa(sin.sin_addr), ntohs(sin.sin_port)); |
| 44 |
|
log_error (temp); |
| 45 |
exit (2); |
exit (2); |
| 46 |
} |
} |
| 47 |
|
|
| 51 |
exit (3); |
exit (3); |
| 52 |
} |
} |
| 53 |
|
|
| 54 |
|
socket_server = sock_server; |
| 55 |
|
strcpy(hostaddr_server,(const char *)inet_ntoa(sin.sin_addr)); |
| 56 |
|
port_server = ntohs(sin.sin_port); |
| 57 |
|
|
| 58 |
|
sprintf(temp, "Listening at %s:%d\n", |
| 59 |
|
hostaddr_server, port_server); |
| 60 |
|
log_std (temp); |
| 61 |
|
|
| 62 |
namelen = sizeof (sin); |
namelen = sizeof (sin); |
| 63 |
while(1) |
while(1) |
| 64 |
{ |
{ |
| 68 |
} |
} |
| 69 |
else |
else |
| 70 |
{ |
{ |
| 71 |
sprintf(temp, "Accept connection from %s\n", |
sprintf(temp, "Accept connection from %s:%d\n", |
| 72 |
inet_ntoa(sin.sin_addr)); |
inet_ntoa(sin.sin_addr),ntohs(sin.sin_port)); |
| 73 |
log_std (temp); |
log_std (temp); |
| 74 |
} |
} |
| 75 |
|
|
| 77 |
{ |
{ |
| 78 |
log_error ("Fork error\n"); |
log_error ("Fork error\n"); |
| 79 |
} |
} |
| 80 |
|
|
| 81 |
|
if (close(sock_client) == -1) |
| 82 |
|
{ |
| 83 |
|
log_error("Close client socket failed\n"); |
| 84 |
|
} |
| 85 |
} |
} |
| 86 |
|
|
| 87 |
return 0; |
return 0; |