Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* The port number is passed as an argument */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- void error(const char *msg)
- {
- perror(msg);
- exit(1);
- }
- int main(int argc, char *argv[])
- {
- int sockfd, newsockfd, portno;
- socklen_t clilen;
- char buffer[256];
- struct sockaddr_in serv_addr, cli_addr;
- int n;
- if (argc < 2) {
- fprintf(stderr,"ERROR, no port provided\n");
- exit(1);
- }
- sockfd = socket(AF_INET, SOCK_STREAM, 0);
- if (sockfd < 0)
- error("ERROR opening socket");
- bzero((char *) &serv;_addr, sizeof(serv_addr));
- portno = atoi(argv[1]);
- serv_addr.sin_family = AF_INET;
- serv_addr.sin_addr.s_addr = INADDR_ANY;
- serv_addr.sin_port = htons(portno);
- if (bind(sockfd, (struct sockaddr *) &serv;_addr,
- sizeof(serv_addr)) < 0)
- error("ERROR on binding");
- if (listen(sockfd,5) < 0)
- error(“ERROR on listening”);
- while(1) {
- // The accept() call actually accepts an incoming connection
- clilen = sizeof(cli_addr);
- if ((newsockfd = accept(sockfd,(struct sockaddr *) &cli_addr, &clilen)) < 0)
- error("ERROR on accept");
- HandleTCPClient(newsockfd);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement