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>#include <errno.h>#define SERV_TCP_PORT 6555#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) == -1) printf("Socket error: %s", strerror(errno)); 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); //this boyo here keeps failing, giving me back a "Socket operation on non-socket" error. if (bind(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) == -1) printf("Bind Error: %s\n", strerror( errno )); listen (sockfd, 5); //i know all this accept stuff should be in a loop, but i'm not worried about that right now newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, &clilen); if (newsockfd == -1) printf("Accept error: %s\n", strerror( errno));msglen = strlen(str);send(newsockfd, str, msglen, 0);close(newsockfd);close(sockfd);}