From a8bd2210e0b1a0da0fd55afc7e0323af74099450 Mon Sep 17 00:00:00 2001 From: asus Date: Mon, 6 Feb 2023 18:43:40 +0100 Subject: [PATCH] begin program --- a.out | Bin 0 -> 16328 bytes mini_serv.c | 137 ++++++++++++++++++++++++++++++---------------------- 2 files changed, 80 insertions(+), 57 deletions(-) create mode 100755 a.out diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..b44fe3b9411664bd27ce0b924a89df73bf8dbcb3 GIT binary patch literal 16328 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 Z=4iIBaH&^(7uDdu#RL1LK7vnGe+TiWW|RN` literal 0 HcmV?d00001 diff --git a/mini_serv.c b/mini_serv.c index b53c576..bdd71b7 100644 --- a/mini_serv.c +++ b/mini_serv.c @@ -1,64 +1,87 @@ +//#include +//#include +#include +#include +#include +#include +#include -// write -// close -// select -// socket // accept -// listen -// send -// recv -// bind -// strstr -// malloc -// realloc -// free -// calloc -// bzero // atoi -// sprintf -// strlen +// bind +// bzero +// calloc +// close // exit -// strcpy -// strcat +// free +// listen +// malloc // memset +// realloc +// recv +// select +// send +// socket +// sprintf +// strcat +// strcpy +// strlen +// strstr +// write - -int main() { - int sockfd, connfd, len; - struct sockaddr_in servaddr, cli; - - // socket create and verification - sockfd = socket(AF_INET, SOCK_STREAM, 0); - if (sockfd == -1) { - printf("socket creation failed...\n"); - exit(0); - } - else - printf("Socket successfully created..\n"); - bzero(&servaddr, sizeof(servaddr)); - - // assign IP, PORT - servaddr.sin_family = AF_INET; - servaddr.sin_addr.s_addr = htonl(2130706433); //127.0.0.1 - servaddr.sin_port = htons(8081); - - // Binding newly created socket to given IP and verification - if ((bind(sockfd, (const struct sockaddr *)&servaddr, sizeof(servaddr))) != 0) { - printf("socket bind failed...\n"); - exit(0); - } - else - printf("Socket successfully binded..\n"); - if (listen(sockfd, 10) != 0) { - printf("cannot listen\n"); - exit(0); - } - len = sizeof(cli); - connfd = accept(sockfd, (struct sockaddr *)&cli, &len); - if (connfd < 0) { - printf("server acccept failed...\n"); - exit(0); - } - else - printf("server acccept the client...\n"); +void putstr(int fd, char *str) { + write(fd, str, strlen(str)); +} + +void error(char *str, int code) { + putstr(2, str); + exit(code); +} + +int main(int ac, char **av) { + int port; + int sockfd; +// int connfd; +// int len; + struct sockaddr_in servaddr; +// struct cli; + + if (ac < 1) + error("Wrong number of arguments\n", 1); + port = atoi(av[1]); + if (port == -1) + error("Fatal error\n", 1); + + // socket create and verification + sockfd = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd == -1) + error("socket creation failed...\n", 0); + else + putstr(1, "Socket successfully created..\n"); + bzero(&servaddr, sizeof(servaddr)); + + // assign IP, PORT + servaddr.sin_family = AF_INET; + servaddr.sin_addr.s_addr = htonl(2130706433); //127.0.0.1 + servaddr.sin_port = htons(8081); + +// // Binding newly created socket to given IP and verification +// if ((bind(sockfd, (const struct sockaddr *)&servaddr, sizeof(servaddr))) != 0) { +// printf("socket bind failed...\n"); +// exit(0); +// } +// else +// printf("Socket successfully binded..\n"); +// if (listen(sockfd, 10) != 0) { +// printf("cannot listen\n"); +// exit(0); +// } +// len = sizeof(cli); +// connfd = accept(sockfd, (struct sockaddr *)&cli, &len); +// if (connfd < 0) { +// printf("server acccept failed...\n"); +// exit(0); +// } +// else +// printf("server acccept the client...\n"); }