#include #include #include #include #include #include #include #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!"); } }