Прикреплённый файл «tcp_echo_serverSR.c»

Загрузка

   1 #include <stdio.h>
   2 #include <sys/socket.h>
   3 #include <arpa/inet.h>
   4 #include <stdlib.h>
   5 #include <string.h>
   6 #include <unistd.h>
   7 
   8 #define ISIZE (sizeof(struct sockaddr_in))
   9 #define MAXCONN 3
  10 #define BUFSIZE 32
  11 
  12 int main(int argc, char *argv[]) {
  13 	int fd, connfd, sz, port;
  14 	struct sockaddr_in srv, peer;
  15 	char buf[32];
  16 	char addr[INET_ADDRSTRLEN+1];
  17 	unsigned peersz=ISIZE;
  18 
  19 	memset(&srv, 0, ISIZE);
  20 	srv.sin_family = AF_INET;
  21 	inet_pton(AF_INET, argv[1], &(srv.sin_addr));
  22 	srv.sin_port = htons(atoi(argv[2]));
  23 
  24 	fd = socket(AF_INET, SOCK_STREAM, 0);
  25 
  26 	bind(fd, (struct sockaddr*) &srv, ISIZE);
  27 
  28 	listen(fd, MAXCONN);
  29 
  30 	while(1) {
  31 		connfd = accept(fd, (struct sockaddr *) &peer, &peersz);
  32 		sz = recv(connfd, buf, BUFSIZE, 0);
  33 		inet_ntop(AF_INET, &peer.sin_addr, addr, INET_ADDRSTRLEN);
  34 		port = ntohs(peer.sin_port);
  35 		printf("Received %d bytes from %s, port %d\n", sz, addr, port);
  36 		send(connfd, buf, sz, 0);
  37 		close(connfd);
  38 	}
  39 	return 0;
  40 }

Прикреплённые файлы

Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.
 Все файлы | Выбранные файлы: удалить переместить на страницу скопировать на страницу

Вам нельзя прикреплять файлы к этой странице.