Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- int main()
- {
- int sock, listener;
- struct sockaddr_in addr;
- char buf[1024];
- int bytes_read;
- listener = socket(AF_INET, SOCK_STREAM, 0);
- if(listener < 0)
- {
- perror("socket");
- exit(1);
- }
- //bzero(&addr, sizeof(addr));
- addr.sin_family = AF_INET;
- addr.sin_port = htons(0);
- addr.sin_addr.s_addr = htonl(INADDR_ANY);
- if(bind(listener, (struct sockaddr *)&addr, sizeof(addr)) < 0)
- {
- perror("bind");
- exit(2);
- }
- printf("Сервер номер порта: %d\n",ntohs(addr.sin_port));
- listen(listener, 1);
- while(1)
- {
- sock = accept(listener, NULL, NULL);
- if(sock < 0)
- {
- perror("accept");
- exit(3);
- }
- while(1)
- {
- bytes_read = recv(sock, buf, 1024, 0);
- if(bytes_read <= 0) break;
- send(sock, buf, bytes_read, 0);
- }
- close(sock);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment