rendered paste body#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <string.h>
#define SERV_TCP_PORT 6543
#define SERV_HOST_ADDR "127.0.0.1"
main()
{
int sockfd, newsockfd, clilen, childpid, msglen;
char *str = ("Hello!");
struct sockaddr_in cli_addr, serv_addr;
if (sockfd = socket(AF_INET, SOCK_STREAM, 0) < 0)
printf("cannot open socket");
bzero((char *) &serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
serv_addr.sin_port = htons(SERV_TCP_PORT);
if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)
printf("cant open bind address!");
listen (sockfd, 5);
for ( ; ; ) {
clilen = sizeof(cli_addr);
newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, &clilen);
if (newsockfd < 0)
printf("server: accept error");
if ( (childpid = fork()) < 0)
printf("server: fork error");
// needs something to do, make it send a string or something
msglen = strlen(str);
if (send (newsockfd, str, msglen, 0) < 0){
printf("Failed to send string!");
}
else printf("String sent to a client!");
}
}