Прикреплённый файл «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 из ссылки «[получить]», так как он чисто внутренний и может измениться.Вам нельзя прикреплять файлы к этой странице.
