/* server.c */
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define BUF 1024
int main (void) {
int create_socket, new_socket;
socklen_t addrlen;
char *buffer = malloc (BUF);
ssize_t size;
struct sockaddr_in address;
const int y = 1;
char my_adrs[256];
printf ("\e[2J");
if ((create_socket=socket (AF_INET, SOCK_STREAM, 0)) > 0)
printf ("Socket wurde angelegt\n");
setsockopt( create_socket, SOL_SOCKET,
SO_REUSEADDR, &y, sizeof(int));
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons (15001);
if (bind ( create_socket,
(struct sockaddr *) &address,
sizeof (address)) != 0) {
printf( "Der Port ist nicht frei – belegt!\n");
}
listen (create_socket, 5);
addrlen = sizeof (struct sockaddr_in);
strcpy(my_adrs, "127.0.0.1");
while (1) {
new_socket = accept ( create_socket,
(struct sockaddr *) &address,
&addrlen );
if (new_socket > 0)
printf ("Ein Client (%s) ist verbunden ...\n", inet_ntoa (address.sin_addr));
strcpy(buffer, "Hallo Welt, die ist eine stille Post");
send (new_socket, buffer, strlen (buffer), 0);
close (new_socket);
}
close (create_socket);
return EXIT_SUCCESS;
}