(cid:1)(cid:2)(cid:3)(cid:2)(cid:4)(cid:5)(cid:6)(cid:7)(cid:8)(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)(cid:12)(cid:13)(cid:3)(cid:4)(cid:8)(cid:2)(cid:14)(cid:3)(cid:8)(cid:15) (cid:8)(cid:3)(cid:5)(cid:9)(cid:16)(cid:17)(cid:18)(cid:19)(cid:7)(cid:2)(cid:8)(cid:17)(cid:7)(cid:20)(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)(cid:21)(cid:9)(cid:22)(cid:8)(cid:23)(cid:24)(cid:8)(cid:7)(cid:23)(cid:24)(cid:8)(cid:9)(cid:16)(cid:23)(cid:2)(cid:8)(cid:3)(cid:5)(cid:2)(cid:25)(cid:2)(cid:26)(cid:17)(cid:8)(cid:9)(cid:8)(cid:5)(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)(cid:21)(cid:9)(cid:27)(cid:8)(cid:23)(cid:24)(cid:3)(cid:28)(cid:11)(cid:28)(cid:14)(cid:2)(cid:8)(cid:9)
(cid:29) (cid:3)(cid:2)(cid:30)(cid:8)(cid:7)(cid:4)(cid:2)(cid:5)(cid:19)(cid:9)(cid:31)(cid:2)(cid:7)(cid:5)(cid:17)(cid:8)(cid:11)(cid:11)(cid:8)(cid:9)(cid:10)(cid:8)(cid:9)(cid:27)(cid:17)(cid:3)(cid:2)(cid:4)(cid:9)
(cid:9)
(cid:9)
(cid:9)
(cid:1)
(cid:2)(cid:3)(cid:4)(cid:5)(cid:3)(cid:6)(cid:7) (cid:7) (cid:6)(cid:8)(cid:9)(cid:4)(cid:10)(cid:1)(cid:11)(cid:4)(cid:12)(cid:11)(cid:1)(cid:13)(cid:10)(cid:9)(cid:14)(cid:9)
(cid:15)(cid:6)(cid:1)(cid:16)(cid:4)(cid:7) (cid:7) (cid:12)(cid:10)(cid:9)(cid:16)(cid:6)(cid:8)(cid:9)(cid:4)(cid:10)(cid:1)(cid:3)(cid:17)(cid:11)(cid:18)(cid:6)(cid:12)(cid:1)(cid:18)(cid:8)(cid:1)(cid:19)(cid:20)(cid:2)(cid:21)(cid:22)(cid:2)(cid:1)
(cid:1)
(cid:1)
(cid:23) (cid:3)(cid:1)(cid:24)(cid:25)(cid:25)(cid:18)(cid:26)(cid:26)(cid:9)(cid:10)(cid:18)(cid:1)(cid:27)(cid:6)(cid:5)(cid:3)(cid:4)(cid:12)(cid:28)(cid:6)(cid:1)(cid:1)(cid:1)(cid:1)
(cid:1)
(cid:1)
(cid:29)(cid:8)(cid:8)(cid:18)(cid:10)(cid:8)(cid:9)(cid:4)(cid:10)(cid:1)(cid:30)(cid:1)
(cid:8)(cid:9)(cid:18)(cid:7)(cid:28)(cid:10)(cid:17)(cid:2)(cid:5)(cid:9)(cid:18)(cid:19)(cid:10)(cid:21)(cid:14)(cid:28)(cid:14)(cid:2)(cid:26)(cid:17)(cid:8)(cid:9)(cid:3)(cid:17)(cid:15) (cid:19)(cid:7)(cid:2)(cid:4)(cid:19)(cid:9)(cid:8)(cid:4)(cid:5)(cid:9)(cid:11)(cid:21)(cid:9)(cid:18)(cid:7)(cid:28)(cid:18)(cid:7)(cid:2)(cid:19)(cid:5)(cid:19)(cid:9)(cid:8)!(cid:23)(cid:11)(cid:17)(cid:4)(cid:2)(cid:30)(cid:8)(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)"(cid:29) (cid:31)(cid:27)#(cid:9)$(cid:11)(cid:9)(cid:8)(cid:4)(cid:5)(cid:9)
(cid:4)(cid:5)(cid:7)(cid:2)(cid:23)(cid:5)(cid:8)(cid:15) (cid:8)(cid:3)(cid:5)(cid:9)(cid:2)(cid:3)(cid:5)(cid:8)(cid:7)(cid:10)(cid:2)(cid:5)(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)(cid:21)(cid:9)(cid:7)(cid:8)(cid:18)(cid:7)(cid:28)(cid:10)(cid:17)(cid:2)(cid:7)(cid:8)(cid:9)%(cid:9)(cid:10)(cid:8)(cid:4)(cid:9)(cid:25)(cid:2)(cid:3)(cid:4)(cid:9)(cid:23)(cid:28)(cid:15) (cid:15) (cid:8)(cid:7)(cid:23)(cid:2)(cid:21)(cid:11)(cid:8)(cid:4)#(cid:9)(cid:16)(cid:8)(cid:17)(cid:11)(cid:9)(cid:11)(cid:8)(cid:9)
(cid:5)(cid:19)(cid:11)(cid:19)(cid:23)(cid:24)(cid:21)(cid:7)(cid:14)(cid:8)(cid:15) (cid:8)(cid:3)(cid:5)(cid:9)(cid:28)(cid:17)(cid:9)(cid:2)(cid:15) (cid:18)(cid:7)(cid:8)(cid:4)(cid:4)(cid:2)(cid:28)(cid:3)(cid:9)(cid:18)(cid:28)(cid:17)(cid:7)(cid:9)(cid:17)(cid:3)(cid:9)(cid:17)(cid:4)(cid:21)(cid:14)(cid:8)(cid:9)(cid:18)(cid:8)(cid:7)(cid:4)(cid:28)(cid:3)(cid:3)(cid:8)(cid:11)(cid:9)(cid:9)&'(cid:9)(cid:23)(cid:28)(cid:18)(cid:2)(cid:8)(cid:9)(cid:18)(cid:21)(cid:7)(cid:9)
(cid:17)(cid:5)(cid:2)(cid:11)(cid:2)(cid:4)(cid:21)(cid:5)(cid:8)(cid:17)(cid:7)((cid:9)(cid:8)(cid:4)(cid:5)(cid:9)(cid:18)(cid:8)(cid:7)(cid:15) (cid:2)(cid:4)#(cid:9)
(cid:29) (cid:3)(cid:2)(cid:30)(cid:8)(cid:7)(cid:4)(cid:2)(cid:5)(cid:19)(cid:9)(cid:31)(cid:2)(cid:7)(cid:5)(cid:17)(cid:8)(cid:11)(cid:11)(cid:8)(cid:9)(cid:10)(cid:8)(cid:9)(cid:27)(cid:17)(cid:3)(cid:2)(cid:4)(cid:9)
(cid:9)
)(cid:7)(cid:28)(cid:14)(cid:7)(cid:21)(cid:15) (cid:15) (cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:4)(cid:28)(cid:17)(cid:4)(cid:9)(cid:29) (cid:3)(cid:2)!(cid:9)
*(cid:21)(cid:9)(cid:23)(cid:28)(cid:15) (cid:15) (cid:17)(cid:3)(cid:2)(cid:23)(cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:7)(cid:19)(cid:4)(cid:8)(cid:21)(cid:17)(cid:9)(cid:8)(cid:5)(cid:9)(cid:27) )+$)(cid:9)
6.1 Sockets, addresses
#include <sys/types.h>
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5) (cid:6)(cid:2)(cid:7)(cid:7)(cid:3)(cid:8)(cid:9)(cid:10)(cid:3)(cid:11)(cid:4)(cid:12)(cid:5) (cid:13)(cid:11)(cid:14)(cid:5) (cid:15)(cid:16)(cid:16)(cid:13)(cid:9)(cid:6)(cid:15)(cid:17)(cid:9)(cid:2)(cid:8)(cid:14)(cid:5) (cid:18)(cid:2)(cid:9)(cid:19)(cid:11)(cid:8)(cid:17)(cid:5) (cid:6)(cid:4)(cid:20)(cid:11)(cid:4)(cid:5) (cid:18)(cid:11)(cid:14)(cid:5) (cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:6)(cid:1)(cid:5) (cid:21)(cid:16)(cid:4)(cid:9)(cid:14)(cid:11)(cid:14)(cid:5) (cid:22)(cid:9)(cid:18)(cid:9)(cid:4)(cid:11)(cid:6)(cid:17)(cid:9)(cid:2)(cid:8)(cid:8)(cid:11)(cid:13)(cid:13)(cid:11)(cid:14)(cid:23)(cid:5) (cid:16)(cid:15)(cid:4)(cid:5) (cid:13)(cid:15)(cid:5) (cid:24)(cid:2)(cid:8)(cid:6)(cid:17)(cid:9)(cid:2)(cid:8)(cid:5)
socket()(cid:5)(cid:11)(cid:17)(cid:5)(cid:13)(cid:11)(cid:14)(cid:5)(cid:4)(cid:11)(cid:13)(cid:9)(cid:11)(cid:4)(cid:5)(cid:11)(cid:8)(cid:17)(cid:4)(cid:11)(cid:5)(cid:11)(cid:13)(cid:13)(cid:11)(cid:14)(cid:25)(cid:5)(cid:26)(cid:8)(cid:5)(cid:16)(cid:11)(cid:3)(cid:17)(cid:5)(cid:11)(cid:8)(cid:14)(cid:3)(cid:9)(cid:17)(cid:11)(cid:5)(cid:3)(cid:17)(cid:9)(cid:13)(cid:9)(cid:14)(cid:11)(cid:4)(cid:5)(cid:6)(cid:11)(cid:14)(cid:5)(cid:14)(cid:2)(cid:6)(cid:27)(cid:11)(cid:17)(cid:14)(cid:5)(cid:6)(cid:2)(cid:7)(cid:7)(cid:11)(cid:5)(cid:18)(cid:11)(cid:14)(cid:5)(cid:24)(cid:9)(cid:6)(cid:28)(cid:9)(cid:11)(cid:4)(cid:14)(cid:5)(cid:2)(cid:4)(cid:18)(cid:9)(cid:8)(cid:15)(cid:9)(cid:4)(cid:11)(cid:14)(cid:5)(cid:21)(cid:16)(cid:15)(cid:4)(cid:5)
read(cid:12)(cid:5)write(cid:12)(cid:5)(cid:25)(cid:25)(cid:25)(cid:23)(cid:5)(cid:2)(cid:3)(cid:5)(cid:16)(cid:15)(cid:4)(cid:5)(cid:18)(cid:11)(cid:14)(cid:5)(cid:2)(cid:16)(cid:20)(cid:4)(cid:15)(cid:17)(cid:9)(cid:2)(cid:8)(cid:14)(cid:5)(cid:14)(cid:16)(cid:20)(cid:6)(cid:9)(cid:24)(cid:9)(cid:10)(cid:3)(cid:11)(cid:14)(cid:5)(cid:21)send(cid:12)(cid:5)sendto(cid:12)(cid:5)recv(cid:12)(cid:5)recvfrom(cid:12)(cid:5)(cid:25)(cid:25)(cid:25)(cid:23)(cid:25)(cid:5)(cid:5)
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:18)(cid:20)(cid:14)(cid:9)(cid:29)(cid:8)(cid:11)(cid:4)(cid:5)(cid:3)(cid:8)(cid:5)(cid:14)(cid:2)(cid:6)(cid:27)(cid:11)(cid:17)(cid:5)(cid:14)(cid:3)(cid:4)(cid:5)(cid:3)(cid:8)(cid:11)(cid:5)(cid:7)(cid:15)(cid:6)(cid:28)(cid:9)(cid:8)(cid:11)(cid:5)(cid:9)(cid:13)(cid:5)(cid:24)(cid:15)(cid:3)(cid:17)(cid:5)(cid:3)(cid:8)(cid:11)(cid:5)(cid:7)(cid:8)(cid:9)(cid:5)(cid:1)(cid:1)(cid:5)(cid:10)(cid:8)(cid:5)(cid:10)(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:6)(cid:25)(cid:5)(cid:30)(cid:2)(cid:7)(cid:7)(cid:11)(cid:5)(cid:9)(cid:13)(cid:5)(cid:11)(cid:31)(cid:9)(cid:14)(cid:17)(cid:11)(cid:5)(cid:18)(cid:9)(cid:24)(cid:24)(cid:20)(cid:4)(cid:11)(cid:8)(cid:17)(cid:14)(cid:5)(cid:17) (cid:16)(cid:11)(cid:14)(cid:5)
(cid:18)(cid:11)(cid:5)(cid:14)(cid:2)(cid:6)(cid:27)(cid:11)(cid:17)(cid:14)(cid:12)(cid:5)(cid:13)(cid:11)(cid:14)(cid:5)(cid:2)(cid:16)(cid:20)(cid:4)(cid:15)(cid:17)(cid:9)(cid:2)(cid:8)(cid:14)(cid:5)(cid:14)(cid:3)(cid:4)(cid:5)(cid:13)(cid:11)(cid:14)(cid:5)(cid:15)(cid:18)(cid:4)(cid:11)(cid:14)(cid:14)(cid:11)(cid:14)(cid:5)(cid:6)(cid:2)(cid:8)(cid:6)(cid:11)(cid:4)(cid:8)(cid:11)(cid:5)(cid:3)(cid:8)(cid:5)(cid:17) (cid:16)(cid:11)(cid:5)(cid:18)!(cid:15)(cid:18)(cid:4)(cid:11)(cid:14)(cid:14)(cid:11)(cid:5)(cid:29)(cid:20)(cid:8)(cid:20)(cid:4)(cid:15)(cid:13)(cid:5)(cid:15)(cid:22)(cid:14)(cid:17)(cid:4)(cid:15)(cid:9)(cid:17)(cid:5)(cid:21)struct sockaddr(cid:23)(cid:5)
(cid:10)(cid:3)(cid:9)(cid:5)(cid:4)(cid:11)(cid:6)(cid:2)(cid:3)(cid:19)(cid:4)(cid:11)(cid:5)(cid:17)(cid:2)(cid:3)(cid:14)(cid:5)(cid:13)(cid:11)(cid:14)(cid:5)(cid:17) (cid:16)(cid:11)(cid:14)(cid:5)(cid:6)(cid:2)(cid:8)(cid:6)(cid:4)(cid:11)(cid:17)(cid:14)(cid:5)(cid:16)(cid:15)(cid:4)(cid:17)(cid:9)(cid:6)(cid:3)(cid:13)(cid:9)(cid:11)(cid:4)(cid:14)(cid:25)(cid:5)(cid:5)
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5) "(cid:30)(cid:1)#$(cid:1)(cid:5) (cid:21)$(cid:8)(cid:11)(cid:17)(cid:23)(cid:12)(cid:5) (cid:13)(cid:11)(cid:14)(cid:5) (cid:15)(cid:18)(cid:4)(cid:11)(cid:14)(cid:14)(cid:11)(cid:14)(cid:5) (cid:18)(cid:11)(cid:5) (cid:14)(cid:2)(cid:6)(cid:27)(cid:11)(cid:17)(cid:14)(cid:5) (cid:14)(cid:2)(cid:8)(cid:17)(cid:5) (cid:18)(cid:20)(cid:17)(cid:11)(cid:4)(cid:7)(cid:9)(cid:8)(cid:20)(cid:11)(cid:14)(cid:5) (cid:16)(cid:15)(cid:4)(cid:5) (cid:3)(cid:8)(cid:5) (cid:8)(cid:3)(cid:7)(cid:20)(cid:4)(cid:2)(cid:5) $(cid:1)(cid:12)(cid:5) (cid:11)(cid:17)(cid:5) (cid:3)(cid:8)(cid:5) (cid:8)(cid:3)(cid:7)(cid:20)(cid:4)(cid:2)(cid:5) (cid:18)(cid:11)(cid:5) (cid:16)(cid:2)(cid:4)(cid:17)(cid:25)(cid:5)
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)$(cid:1)(cid:19)%(cid:12)(cid:5)(cid:2)(cid:8)(cid:5)(cid:3)(cid:17)(cid:9)(cid:13)(cid:9)(cid:14)(cid:11)(cid:5)(cid:18)(cid:11)(cid:14)(cid:5)struct sockaddr_in(cid:12)(cid:5)(cid:10)(cid:3)(cid:9)(cid:5)(cid:16)(cid:2)(cid:14)(cid:14)&(cid:18)(cid:11)(cid:8)(cid:17)(cid:5)'(cid:5)(cid:6)(cid:28)(cid:15)(cid:7)(cid:16)(cid:14)(cid:5)(cid:9)(cid:7)(cid:16)(cid:2)(cid:4)(cid:17)(cid:15)(cid:8)(cid:17)(cid:14)(cid:5)((cid:5)(cid:5)
• sin_family(cid:20)(cid:9)(cid:11)(cid:21)(cid:9)(cid:25)(cid:21)(cid:15) (cid:2)(cid:11)(cid:11)(cid:8)(cid:9)(cid:10)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:4)(cid:20)(cid:9)(cid:30)(cid:21)(cid:11)(cid:21)(cid:3)(cid:5)(cid:9)AF_INET(cid:9)(cid:9)
Publicité
• sin_addr(cid:20)(cid:9)(cid:18)(cid:28)(cid:17)(cid:7)(cid:9)(cid:11)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9)$)#(cid:9)(cid:9)
• sin_port(cid:20)(cid:9)(cid:18)(cid:28)(cid:17)(cid:7)(cid:9)(cid:11)(cid:8)(cid:9)(cid:3)(cid:17)(cid:15) (cid:19)(cid:7)(cid:28)(cid:9)(cid:10)(cid:8)(cid:9)(cid:18)(cid:28)(cid:7)(cid:5)(cid:9)(cid:9)
)(cid:17)(cid:17)(cid:11)(cid:8)(cid:17)(cid:9)(cid:2)(cid:8)(cid:12)(cid:5)(cid:13)(cid:11)(cid:14)(cid:5)(cid:2)(cid:6)(cid:17)(cid:11)(cid:17)(cid:14)(cid:5)(cid:18)(cid:11)(cid:5)(cid:13)!(cid:15)(cid:18)(cid:4)(cid:11)(cid:14)(cid:14)(cid:11)(cid:5)$(cid:1)(cid:5)(cid:11)(cid:17)(cid:5)(cid:13)(cid:11)(cid:5)(cid:8)(cid:3)(cid:7)(cid:20)(cid:4)(cid:2)(cid:5)(cid:18)(cid:11)(cid:5)(cid:16)(cid:2)(cid:4)(cid:17)(cid:5)(cid:14)(cid:2)(cid:8)(cid:17)(cid:5)(cid:14)(cid:17)(cid:2)(cid:6)(cid:27)(cid:20)(cid:14)(cid:5)(cid:18)(cid:15)(cid:8)(cid:14)(cid:5)(cid:11)(cid:12)(cid:2)(cid:9)(cid:8)(cid:9)(cid:5)(cid:10)(cid:9)(cid:13)(cid:1)(cid:5)(cid:7)(cid:14)(cid:5)(cid:21)(cid:22)(cid:9)(cid:29)#(cid:11)(cid:8)(cid:18)(cid:9)(cid:15)(cid:8)(cid:23)(cid:12)(cid:5)(cid:10)(cid:3)(cid:9)(cid:5)
(cid:8)!(cid:11)(cid:14)(cid:17)(cid:5) (cid:16)(cid:15)(cid:14)(cid:5) (cid:24)(cid:2)(cid:4)(cid:6)(cid:20)(cid:7)(cid:11)(cid:8)(cid:17)(cid:5) (cid:6)(cid:11)(cid:13)(cid:3)(cid:9)(cid:5) (cid:18)(cid:11)(cid:5) (cid:13)(cid:15)(cid:5) (cid:7)(cid:15)(cid:6)(cid:28)(cid:9)(cid:8)(cid:11)(cid:5) (cid:28)*(cid:17)(cid:11)(cid:5) (cid:14)(cid:3)(cid:4)(cid:5) (cid:13)(cid:15)(cid:10)(cid:3)(cid:11)(cid:13)(cid:13)(cid:11)(cid:5) (cid:14)!(cid:11)(cid:31)(cid:20)(cid:6)(cid:3)(cid:17)(cid:11)(cid:5) (cid:13)(cid:11)(cid:5) (cid:16)(cid:4)(cid:2)(cid:29)(cid:4)(cid:15)(cid:7)(cid:7)(cid:11)(cid:25)(cid:5) +(cid:2)(cid:9)(cid:4)(cid:5) (cid:16)(cid:13)(cid:3)(cid:14)(cid:5) (cid:13)(cid:2)(cid:9)(cid:8)(cid:5) (cid:13)(cid:11)(cid:14)(cid:5)
(cid:24)(cid:2)(cid:8)(cid:6)(cid:17)(cid:9)(cid:2)(cid:8)(cid:14)(cid:5)(cid:18)(cid:11)(cid:5)(cid:6)(cid:2)(cid:8)(cid:19)(cid:11)(cid:4)(cid:14)(cid:9)(cid:2)(cid:8)(cid:5)(cid:28)*(cid:17)(cid:11),(cid:4)(cid:20)(cid:14)(cid:11)(cid:15)(cid:3)(cid:25)(cid:5)(cid:5)
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)$(cid:1)(cid:19)-(cid:12)(cid:5)(cid:2)(cid:8)(cid:5)(cid:3)(cid:17)(cid:9)(cid:13)(cid:9)(cid:14)(cid:11)(cid:5)(cid:18)(cid:11)(cid:14)(cid:5)struct sockaddr_in6(cid:12)(cid:5)(cid:15)(cid:19)(cid:11)(cid:6)(cid:5)(cid:5)
• sin6_family(cid:20)(cid:9)(cid:30)(cid:21)(cid:11)(cid:21)(cid:3)(cid:5)(cid:9)AF_INET6(cid:9)(cid:9)
• sin6_addr(cid:20)(cid:9)(cid:11)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9)$)(cid:9)(cid:4)(cid:17)(cid:7)(cid:9)-(cid:9)(cid:28)(cid:23)(cid:5)(cid:8)(cid:5)(cid:4)(cid:9)(cid:9)
• sin6_port(cid:20)(cid:9)(cid:18)(cid:28)(cid:17)(cid:7)(cid:9)(cid:11)(cid:8)(cid:9)(cid:3)(cid:17)(cid:15) (cid:19)(cid:7)(cid:28)(cid:9)(cid:10)(cid:8)(cid:9)(cid:18)(cid:28)(cid:7)(cid:5)#(cid:9)(cid:9)
6.2 Remplissage d'une adresse
. (cid:17)(cid:21)(cid:3)(cid:10)(cid:9)(cid:28)(cid:3)(cid:9)(cid:28)(cid:17)(cid:30)(cid:7)(cid:8)(cid:9)(cid:17)(cid:3)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:9)(cid:11)(cid:28)(cid:23)(cid:21)(cid:11)(cid:20)(cid:9)(cid:2)(cid:11)(cid:9)(cid:25)(cid:21)(cid:17)(cid:5)(cid:9)(cid:11)(cid:8)(cid:9)(cid:23)(cid:7)(cid:19)(cid:8)(cid:7)(cid:9)(cid:18)(cid:21)(cid:7)(cid:9)socket()(cid:9)&(cid:30)(cid:28)(cid:2)(cid:7)(cid:9)(cid:18)(cid:11)(cid:17)(cid:4)(cid:9)(cid:11)(cid:28)(cid:2)(cid:3)((cid:9)(cid:8)(cid:5)(cid:9)0(cid:3)(cid:28)(cid:15) (cid:15) (cid:8)(cid:7)(cid:9)(cid:11)(cid:21)(cid:9)(cid:18)(cid:7)(cid:2)(cid:4)(cid:8)1(cid:20)(cid:9)(cid:23)"(cid:8)(cid:4)(cid:5)+%+(cid:10)(cid:2)(cid:7)(cid:8)(cid:9)(cid:11)(cid:17)(cid:2)(cid:9)
(cid:21)(cid:4)(cid:4)(cid:28)(cid:23)(cid:2)(cid:8)(cid:7)(cid:9)&(cid:18)(cid:21)(cid:7)(cid:9)bind()((cid:9)(cid:17)(cid:3)(cid:8)(cid:9)(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)#(cid:9)2 (cid:8)(cid:9)(cid:15) 3(cid:15) (cid:8)(cid:20)(cid:9)(cid:28)(cid:3)(cid:9)(cid:21)(cid:9)(cid:21)(cid:17)(cid:4)(cid:4)(cid:2)(cid:9)4(cid:8)(cid:4)(cid:28)(cid:2)(cid:3)(cid:9)(cid:10)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:4)(cid:9)(cid:18)(cid:28)(cid:17)(cid:7)(cid:9)(cid:10)(cid:19)(cid:4)(cid:2)(cid:14)(cid:3)(cid:8)(cid:7)(cid:9)(cid:11)(cid:8)(cid:4)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:4)(cid:9)(cid:10)(cid:2)(cid:4)(cid:5)(cid:21)(cid:3)(cid:5)(cid:4)(cid:9)
(cid:21)(cid:17)!(cid:26)(cid:17)(cid:8)(cid:11)(cid:4)(cid:9)(cid:28)(cid:3)(cid:9)(cid:30)(cid:8)(cid:17)(cid:5)(cid:9)(cid:4)(cid:8)(cid:9)(cid:23)(cid:28)(cid:3)(cid:3)(cid:8)(cid:23)(cid:5)(cid:8)(cid:7)#(cid:9)(cid:9)
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:2)(cid:5)(cid:6)(cid:7)(cid:8)(cid:9)(cid:10)(cid:11)(cid:12)(cid:13)(cid:9)(cid:14)(cid:10)(cid:5)(cid:11)(cid:2)(cid:14)(cid:15)(cid:15)(cid:14)(cid:10)(cid:11)(cid:7)(cid:15)(cid:6)(cid:5)(cid:9)(cid:6)(cid:14)(cid:9)
2 (cid:21)(cid:3)(cid:4)(cid:9)(cid:11)(cid:8)(cid:9)(cid:23)(cid:21)(cid:4)(cid:9)(cid:11)(cid:8)(cid:9)(cid:18)(cid:11)(cid:17)(cid:4)(cid:9)(cid:25)(cid:7)(cid:19)(cid:26)(cid:17)(cid:8)(cid:3)(cid:5)(cid:20)(cid:9)(cid:28)(cid:3)(cid:9)(cid:10)(cid:2)(cid:4)(cid:18)(cid:28)(cid:4)(cid:8)(cid:9)(cid:10)(cid:17)(cid:9)(cid:3)(cid:28)(cid:15) (cid:9)(cid:10)(cid:8)(cid:9)(cid:11)(cid:21)(cid:9)(cid:15) (cid:21)(cid:23)(cid:24)(cid:2)(cid:3)(cid:8)(cid:9)(cid:10)(cid:8)(cid:4)(cid:5)(cid:2)(cid:3)(cid:21)(cid:5)(cid:21)(cid:2)(cid:7)(cid:8)(cid:9)&(cid:18)(cid:21)(cid:7)(cid:9)(cid:8)!(cid:8)(cid:15) (cid:18)(cid:11)(cid:8)(cid:9)(cid:11)(cid:21)(cid:9)(cid:23)(cid:24)(cid:21)5(cid:3)(cid:8)(cid:9)(cid:10)(cid:8)(cid:9)(cid:23)(cid:21)(cid:7)(cid:21)(cid:23)(cid:5)(cid:6)(cid:7)(cid:8)(cid:4)(cid:9)
"fst"((cid:20)(cid:9)(cid:8)(cid:5)(cid:9)(cid:10)(cid:17)(cid:9)(cid:3)(cid:17)(cid:15) (cid:19)(cid:7)(cid:28)(cid:9)(cid:10)(cid:8)(cid:9)(cid:18)(cid:28)(cid:7)(cid:5)(cid:9)&(cid:17)(cid:3)(cid:9)(cid:8)(cid:3)(cid:5)(cid:2)(cid:8)(cid:7)(#(cid:9)(cid:10)
#include <netdb.h>
struct hostent gethostbyname(const char name);
gethostbyname()(cid:9)(cid:7)(cid:8)(cid:5)(cid:28)(cid:17)(cid:7)(cid:3)(cid:8)(cid:9)(cid:17)(cid:3)(cid:9)(cid:18)(cid:28)(cid:2)(cid:3)(cid:5)(cid:8)(cid:17)(cid:7)(cid:9)(cid:30)(cid:8)(cid:7)(cid:4)(cid:9)(cid:17)(cid:3)(cid:8)(cid:9)(cid:4)(cid:5)(cid:7)(cid:17)(cid:23)(cid:5)(cid:17)(cid:7)(cid:8)(cid:9)hostent(cid:9)(cid:26)(cid:17)(cid:2)(cid:9)(cid:23)(cid:28)(cid:3)(cid:5)(cid:2)(cid:8)(cid:3)(cid:5)(cid:9)(cid:10)(cid:2)(cid:30)(cid:8)(cid:7)(cid:4)(cid:8)(cid:4)(cid:9)(cid:2)(cid:3)(cid:25)(cid:28)(cid:7)(cid:15) (cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:4)(cid:9)(cid:4)(cid:17)(cid:7)(cid:9)(cid:11)(cid:21)(cid:9)
(cid:15) (cid:21)(cid:23)(cid:24)(cid:2)(cid:3)(cid:8)(cid:9)(cid:8)(cid:3)(cid:9)(cid:26)(cid:17)(cid:8)(cid:4)(cid:5)(cid:2)(cid:28)(cid:3)(cid:20)(cid:9)(cid:8)(cid:3)(cid:9)(cid:18)(cid:21)(cid:7)(cid:5)(cid:2)(cid:23)(cid:17)(cid:11)(cid:2)(cid:8)(cid:7)(cid:9)(cid:17)(cid:3)(cid:8)(cid:9)(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9)h_addr(cid:9)(cid:9)
,(cid:9)
(cid:9)
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:5)(cid:6)(cid:7)(cid:7)(cid:8)(cid:9)(cid:6)(cid:3)(cid:10)(cid:11)(cid:12)(cid:2)(cid:13)(cid:14)(cid:15)(cid:11)(cid:3)
(cid:29) (cid:3)(cid:2)(cid:30)(cid:8)(cid:7)(cid:4)(cid:2)(cid:5)(cid:19)(cid:9)(cid:31)(cid:2)(cid:7)(cid:5)(cid:17)(cid:8)(cid:11)(cid:11)(cid:8)(cid:9)(cid:10)(cid:8)(cid:9)(cid:27)(cid:17)(cid:3)(cid:2)(cid:4)(cid:9)
)(cid:7)(cid:28)(cid:14)(cid:7)(cid:21)(cid:15) (cid:15) (cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:4)(cid:28)(cid:17)(cid:4)(cid:9)(cid:29) (cid:3)(cid:2)!(cid:9)
*(cid:21)(cid:9)(cid:23)(cid:28)(cid:15) (cid:15) (cid:17)(cid:3)(cid:2)(cid:23)(cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:7)(cid:19)(cid:4)(cid:8)(cid:21)(cid:17)(cid:9)(cid:8)(cid:5)(cid:9)(cid:27) )+$)(cid:9)
(cid:9)
(cid:29) (cid:3)(cid:8)(cid:9)(cid:15) (cid:21)(cid:23)(cid:24)(cid:2)(cid:3)(cid:8)(cid:9)(cid:18)(cid:8)(cid:17)(cid:5)(cid:9)(cid:21)(cid:30)(cid:28)(cid:2)(cid:7)(cid:9)(cid:18)(cid:11)(cid:17)(cid:4)(cid:2)(cid:8)(cid:17)(cid:7)(cid:4)(cid:9)(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:4)(cid:9)(cid:26)(cid:17)(cid:8)(cid:9)(cid:11)"(cid:28)(cid:3)(cid:9)(cid:15) (cid:8)(cid:5)(cid:5)(cid:7)(cid:21)(cid:9)(cid:10)(cid:21)(cid:3)(cid:4)(cid:9)sin_addr#(cid:9)(cid:9)
*(cid:8)(cid:9)(cid:23)(cid:24)(cid:21)(cid:15) (cid:18)(cid:9)sin_port(cid:9)(cid:8)(cid:4)(cid:5)(cid:9)(cid:17)(cid:3)(cid:9)(cid:8)(cid:3)(cid:5)(cid:2)(cid:8)(cid:7)(cid:9)(cid:23)(cid:28)(cid:17)(cid:7)(cid:5)(cid:9)(cid:6)(cid:9)(cid:3)(cid:13)(cid:2)(cid:7)(cid:2)(cid:6)(cid:3)(cid:2)(cid:16)(cid:17)(cid:6)(cid:11)(cid:14)(cid:20)(cid:9)(cid:18)(cid:28)(cid:17)(cid:7)(cid:9)7(cid:9)(cid:15) (cid:8)(cid:5)(cid:5)(cid:7)(cid:8)(cid:9)(cid:17)(cid:3)(cid:9)(cid:8)(cid:3)(cid:5)(cid:2)(cid:8)(cid:7)(cid:9)(cid:28)(cid:7)(cid:10)(cid:2)(cid:3)(cid:21)(cid:2)(cid:7)(cid:8)(cid:9)(cid:2)(cid:11)(cid:9)(cid:25)(cid:21)(cid:17)(cid:5)(cid:9)(cid:11)(cid:8)(cid:9)(cid:23)(cid:28)(cid:3)(cid:30)(cid:8)(cid:7)(cid:5)(cid:2)(cid:7)(cid:9)(cid:18)(cid:21)(cid:7)(cid:9)
htons()#(cid:9)
(cid:9)
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:2)(cid:5)(cid:6)(cid:7)(cid:8)(cid:9)(cid:10)(cid:11)(cid:12)(cid:13)(cid:9)(cid:14)(cid:10)(cid:5)(cid:11)(cid:2)(cid:14)(cid:15)(cid:15)(cid:14)(cid:10)(cid:16)(cid:8)(cid:17)(cid:5)(cid:16)(cid:14)(cid:10)
)(cid:28)(cid:17)(cid:7)(cid:9)(cid:17)(cid:3)(cid:8)(cid:9)(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9)(cid:11)(cid:28)(cid:23)(cid:21)(cid:11)(cid:8)(cid:20)(cid:9)(cid:28)(cid:3)(cid:9)(cid:17)(cid:5)(cid:2)(cid:11)(cid:2)(cid:4)(cid:8)(cid:9)(cid:10)
• (cid:10)(cid:21)(cid:3)(cid:4)(cid:9)(cid:11)(cid:8)(cid:9)(cid:23)(cid:21)(cid:4)(cid:9)(cid:11)(cid:8)(cid:9)(cid:18)(cid:11)(cid:17)(cid:4)(cid:9)(cid:25)(cid:7)(cid:19)(cid:26)(cid:17)(cid:8)(cid:3)(cid:5)(cid:20)(cid:9)(cid:11)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9)INADDR_ANY#(cid:9)*(cid:8)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:9)(cid:8)(cid:4)(cid:5)(cid:9)(cid:21)(cid:11)(cid:28)(cid:7)(cid:4)(cid:9)(cid:28)(cid:17)(cid:30)(cid:8)(cid:7)(cid:5)(cid:9)&(cid:21)(cid:30)(cid:8)(cid:23)(cid:9)(cid:11)(cid:8)(cid:9)(cid:15) 3(cid:15) (cid:8)(cid:9)(cid:3)(cid:17)(cid:15) (cid:19)(cid:7)(cid:28)(cid:9)(cid:10)(cid:8)(cid:9)
(cid:18)(cid:28)(cid:7)(cid:5)((cid:9)(cid:4)(cid:17)(cid:7)(cid:9)(cid:5)(cid:28)(cid:17)(cid:5)(cid:8)(cid:4)(cid:9)(cid:11)(cid:8)(cid:4)(cid:9)(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:4)(cid:9)$)(cid:9)(cid:10)(cid:8)(cid:9)(cid:5)(cid:28)(cid:17)(cid:5)(cid:8)(cid:4)(cid:9)(cid:11)(cid:8)(cid:4)(cid:9)(cid:2)(cid:3)(cid:5)(cid:8)(cid:7)(cid:25)(cid:21)(cid:23)(cid:8)(cid:4)(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)(cid:21)(cid:9)(cid:15) (cid:21)(cid:23)(cid:24)(cid:2)(cid:3)(cid:8)#(cid:9)(cid:9)
Publicité
• (cid:11)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9)INADDR_LOOPBACK(cid:9)(cid:23)(cid:28)(cid:7)(cid:7)(cid:8)(cid:4)(cid:18)(cid:28)(cid:3)(cid:10)(cid:21)(cid:3)(cid:5)(cid:9)%(cid:9)(cid:11)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9)(cid:11)(cid:28)(cid:23)(cid:21)(cid:11)(cid:8)(cid:9)127.0.0.1#(cid:9)*(cid:8)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:9)(cid:3)"(cid:8)(cid:4)(cid:5)(cid:9)(cid:21)(cid:11)(cid:28)(cid:7)(cid:4)(cid:9)
(cid:21)(cid:23)(cid:23)(cid:8)(cid:4)(cid:4)(cid:2)4(cid:11)(cid:8)(cid:9)(cid:26)(cid:17)(cid:8)(cid:9)(cid:10)(cid:8)(cid:18)(cid:17)(cid:2)(cid:4)(cid:9)(cid:11)(cid:21)(cid:9)(cid:15) (cid:21)(cid:23)(cid:24)(cid:2)(cid:3)(cid:8)(cid:9)(cid:8)(cid:11)(cid:11)(cid:8)+(cid:15) 3(cid:15) (cid:8)#(cid:9)(cid:9)
• (cid:17)(cid:3)(cid:8)(cid:9)(cid:10)(cid:8)(cid:4)(cid:9)(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:4)(cid:9)$)(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)(cid:21)(cid:9)(cid:15) (cid:21)(cid:23)(cid:24)(cid:2)(cid:3)(cid:8)#(cid:9)(cid:9)
(cid:18)(cid:19)(cid:5)(cid:20) (cid:14)(cid:9)(cid:10)(cid:11)(cid:12)(cid:13)(cid:9)(cid:14)(cid:10)(cid:5)(cid:11)(cid:2)(cid:14)(cid:15)(cid:15)(cid:14)(cid:10)
*(cid:21)(cid:9)(cid:25)(cid:28)(cid:3)(cid:23)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)getsockname()(cid:9)(cid:18)(cid:8)(cid:7)(cid:15) (cid:8)(cid:5)(cid:9)(cid:10)(cid:8)(cid:9)(cid:7)(cid:8)(cid:5)(cid:7)(cid:28)(cid:17)(cid:30)(cid:8)(cid:7)(cid:9)(cid:11)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9)(cid:21)(cid:4)(cid:4)(cid:28)(cid:23)(cid:2)(cid:19)(cid:8)(cid:9)%(cid:9)(cid:17)(cid:3)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)#(cid:9)(cid:10)
#include <sys/socket.h>
int getsockname(int s, struct sockaddr name, socklen_t namelen);
(cid:9)
*(cid:8)(cid:9)(cid:3)(cid:17)(cid:15) (cid:19)(cid:7)(cid:28)(cid:9)(cid:10)(cid:8)(cid:9)(cid:18)(cid:28)(cid:7)(cid:5)(cid:9)(cid:8)(cid:4)(cid:5)(cid:9)(cid:10)(cid:21)(cid:3)(cid:4)(cid:9)(cid:11)(cid:8)(cid:9)(cid:23)(cid:24)(cid:21)(cid:15) (cid:18)(cid:9)sin_port(cid:20)(cid:9)(cid:18)(cid:28)(cid:17)(cid:7)(cid:9)(cid:11)(cid:8)(cid:9)(cid:23)(cid:28)(cid:3)(cid:30)(cid:8)(cid:7)(cid:5)(cid:2)(cid:7)(cid:9)(cid:8)(cid:3)(cid:9)(cid:8)(cid:3)(cid:5)(cid:2)(cid:8)(cid:7)(cid:9)(cid:3)(cid:28)(cid:7)(cid:15) (cid:21)(cid:11)(cid:20)(cid:9)(cid:17)(cid:5)(cid:2)(cid:11)(cid:2)(cid:4)(cid:8)(cid:7)(cid:9)ntohs()(cid:9)&8 (cid:8)(cid:5)9 (cid:28)(cid:7)/(cid:9)
(cid:27): (cid:9); (cid:28)(cid:4)(cid:5)(cid:9)(cid:4)(cid:24)(cid:28)(cid:7)(cid:5)(#(cid:9)
(cid:9)
*"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9) $)(cid:9) (cid:18)(cid:8)(cid:17)(cid:5)(cid:9) 3(cid:5)(cid:7)(cid:8)(cid:9) (cid:23)(cid:28)(cid:3)(cid:30)(cid:8)(cid:7)(cid:5)(cid:2)(cid:8)(cid:9) (cid:8)(cid:3)(cid:9) (cid:23)(cid:24)(cid:21)5(cid:3)(cid:8)(cid:9) (cid:10)(cid:8)(cid:9) (cid:23)(cid:21)(cid:7)(cid:21)(cid:23)(cid:5)(cid:6)(cid:7)(cid:8)(cid:4)(cid:9) (cid:8)(cid:3)(cid:9) (cid:3)(cid:28)(cid:5)(cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9) (cid:10)(cid:19)(cid:23)(cid:2)(cid:15) (cid:21)(cid:11)(cid:8)(cid:9) (cid:18)(cid:28)(cid:2)(cid:3)(cid:5)(cid:19)(cid:8)(cid:9) &(cid:8)!(cid:8)(cid:15) (cid:18)(cid:11)(cid:8)(cid:9)
"193.95.32.xxx"((cid:9)(cid:18)(cid:21)(cid:7)(cid:9)inet_ntoa()(cid:9)&(cid:3)(cid:8)(cid:5)9 (cid:28)(cid:7)/(cid:9)(cid:5)(cid:28)(cid:9)(cid:21)(cid:4)(cid:23)(cid:2)(cid:2)(#(cid:9)
(cid:9)
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
char *inet_ntoa(struct in_addr in);
(cid:9)
: (cid:3)(cid:9)(cid:18)(cid:8)(cid:17)(cid:5)(cid:9)(cid:19)(cid:14)(cid:21)(cid:11)(cid:8)(cid:15) (cid:8)(cid:3)(cid:5)(cid:9)(cid:5)(cid:8)(cid:3)(cid:5)(cid:8)(cid:7)(cid:9)(cid:17)(cid:3)(cid:8)(cid:9)(cid:2)(cid:16)(cid:17)(cid:13)(cid:18)(cid:14)(cid:19)(cid:8)(cid:13)(cid:9)(cid:3)(cid:8)(cid:9)(cid:20)(cid:6)(cid:2)(cid:17)(cid:6)(cid:20)(cid:9)(cid:23)"(cid:8)(cid:4)(cid:5)+%+(cid:10)(cid:2)(cid:7)(cid:8)(cid:9)(cid:10)(cid:8)(cid:9)(cid:7)(cid:8)(cid:5)(cid:7)(cid:28)(cid:17)(cid:30)(cid:8)(cid:7)(cid:9)(cid:11)(cid:8)(cid:9)(cid:3)(cid:28)(cid:15) (cid:9)%(cid:9)(cid:18)(cid:21)(cid:7)(cid:5)(cid:2)(cid:7)(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:20)(cid:9)(cid:8)(cid:3)(cid:9)(cid:18)(cid:21)(cid:4)(cid:4)(cid:21)(cid:3)(cid:5)(cid:9)
(cid:18)(cid:21)(cid:7)(cid:9)gethostbyaddr(cid:20)(cid:9)(cid:26)(cid:17)(cid:2)(cid:9) (cid:7)(cid:8)(cid:5)(cid:28)(cid:17)(cid:7)(cid:3)(cid:8)(cid:9)(cid:17)(cid:3)(cid:9)(cid:18)(cid:28)(cid:2)(cid:3)(cid:5)(cid:8)(cid:17)(cid:7)(cid:9)(cid:30)(cid:8)(cid:7)(cid:4)(cid:9)(cid:17)(cid:3)(cid:8)(cid:9)(cid:4)(cid:5)(cid:7)(cid:17)(cid:23)(cid:5)(cid:17)(cid:7)(cid:8)(cid:9)hostent(cid:20)(cid:9)(cid:10)(cid:28)(cid:3)(cid:5)(cid:9)(cid:11)(cid:8)(cid:9)(cid:23)(cid:24)(cid:21)(cid:15) (cid:18)(cid:9)h_name(cid:9)(cid:10)(cid:19)(cid:4)(cid:2)(cid:14)(cid:3)(cid:8)(cid:9)(cid:11)(cid:8)(cid:9)
(cid:3)(cid:28)(cid:15) (cid:9)(cid:28)(cid:25)(cid:25)(cid:2)(cid:23)(cid:2)(cid:8)(cid:11)(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)(cid:21)(cid:9)(cid:15) (cid:21)(cid:23)(cid:24)(cid:2)(cid:3)(cid:8)#(cid:9)(cid:9)
(cid:9)
(cid:9)
(cid:9)
(cid:9)
(cid:9)
6(cid:9)
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:5)(cid:6)(cid:7)(cid:7)(cid:8)(cid:9)(cid:6)(cid:3)(cid:10)(cid:11)(cid:12)(cid:2)(cid:13)(cid:14)(cid:15)(cid:11)(cid:3)
(cid:29) (cid:3)(cid:2)(cid:30)(cid:8)(cid:7)(cid:4)(cid:2)(cid:5)(cid:19)(cid:9)(cid:31)(cid:2)(cid:7)(cid:5)(cid:17)(cid:8)(cid:11)(cid:11)(cid:8)(cid:9)(cid:10)(cid:8)(cid:9)(cid:27)(cid:17)(cid:3)(cid:2)(cid:4)(cid:9)
(cid:9)
(cid:9)
)(cid:7)(cid:28)(cid:14)(cid:7)(cid:21)(cid:15) (cid:15) (cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:4)(cid:28)(cid:17)(cid:4)(cid:9)(cid:29) (cid:3)(cid:2)!(cid:9)
*(cid:21)(cid:9)(cid:23)(cid:28)(cid:15) (cid:15) (cid:17)(cid:3)(cid:2)(cid:23)(cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:7)(cid:19)(cid:4)(cid:8)(cid:21)(cid:17)(cid:9)(cid:8)(cid:5)(cid:9)(cid:27) )+$)(cid:9)
(cid:8)(cid:5)(cid:5)(cid:8)(cid:9) (cid:7)(cid:19)(cid:4)(cid:28)(cid:11)(cid:17)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9) (cid:3)"(cid:21)4(cid:28)(cid:17)(cid:5)(cid:2)(cid:5)(cid:9) (cid:18)(cid:21)(cid:4)(cid:9) (cid:5)(cid:28)(cid:17)=(cid:28)(cid:17)(cid:7)(cid:4)(cid:20)(cid:9) (cid:18)(cid:21)(cid:7)(cid:23)(cid:8)(cid:9) (cid:26)(cid:17)(cid:8)(cid:9) (cid:5)(cid:28)(cid:17)(cid:4)(cid:9) (cid:11)(cid:8)(cid:4)(cid:9) (cid:3)(cid:17)(cid:15) (cid:19)(cid:7)(cid:28)(cid:4)(cid:9) $)(cid:9) (cid:3)(cid:8)(cid:9) (cid:23)(cid:28)(cid:7)(cid:7)(cid:8)(cid:4)(cid:18)(cid:28)(cid:3)(cid:10)(cid:8)(cid:3)(cid:5)(cid:9) (cid:18)(cid:21)(cid:4)(cid:9) %(cid:9) (cid:10)(cid:8)(cid:4)(cid:9) (cid:15) (cid:21)(cid:23)(cid:24)(cid:2)(cid:3)(cid:8)(cid:4)(cid:9)
Publicité
(cid:10)(cid:19)(cid:23)(cid:11)(cid:21)(cid:7)(cid:19)(cid:8)(cid:4)#(cid:9)(cid:9)
#include <netdb.h>
extern int h_errno;
struct hostent gethostbyaddr(const char addr, int len, int type);
struct hostent {
char h_name; / official name of host */
char *h_aliases; / alias list */
int h_addrtype; / host address type /
int h_length; / length of address /
char *h_addr_list; / list of addresses */
}
#define h_addr h_addr_list[0] / for backward compatibility /
6.3 Fermeture d'un socket
(cid:29) (cid:3)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:9)(cid:18)(cid:8)(cid:17)(cid:5)(cid:9)3(cid:5)(cid:7)(cid:8)(cid:9)(cid:25)(cid:8)(cid:7)(cid:15) (cid:19)(cid:9)(cid:18)(cid:21)(cid:7)(cid:9)close()(cid:9)(cid:28)(cid:17)(cid:9)(cid:18)(cid:21)(cid:7)(cid:9)shutdown()#(cid:9)(cid:9)
int shutdown(int fd, int how);
(cid:29) (cid:3)(cid:9) (cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:9) (cid:8)(cid:4)(cid:5)(cid:9) 4(cid:2)(cid:10)(cid:2)(cid:7)(cid:8)(cid:23)(cid:5)(cid:2)(cid:28)(cid:3)(cid:3)(cid:8)(cid:11)(cid:20)(cid:9) (cid:11)(cid:8)(cid:9) (cid:18)(cid:21)(cid:7)(cid:21)(cid:15) (cid:6)(cid:5)(cid:7)(cid:8)(cid:9) how(cid:9) (cid:2)(cid:3)(cid:10)(cid:2)(cid:26)(cid:17)(cid:8)(cid:9) (cid:26)(cid:17)(cid:8)(cid:11)(cid:11)(cid:8)&(cid:4)((cid:9) (cid:15) (cid:28)(cid:2)(cid:5)(cid:2)(cid:19)&(cid:4)((cid:9) (cid:28)(cid:3)(cid:9) (cid:25)(cid:8)(cid:7)(cid:15) (cid:8)(cid:9) >(cid:9) 0(cid:9) (cid:18)(cid:28)(cid:17)(cid:7)(cid:9) (cid:11)(cid:21)(cid:9) (cid:4)(cid:28)(cid:7)(cid:5)(cid:2)(cid:8)(cid:20)(cid:9) 1(cid:9) (cid:18)(cid:28)(cid:17)(cid:7)(cid:9)
(cid:11)"(cid:8)(cid:3)(cid:5)(cid:7)(cid:19)(cid:8)(cid:20)(cid:9)2(cid:9)(cid:18)(cid:28)(cid:17)(cid:7)(cid:9)(cid:11)(cid:8)(cid:4)(cid:9)(cid:10)(cid:8)(cid:17)!(cid:9)&(cid:19)(cid:26)(cid:17)(cid:2)(cid:30)(cid:21)(cid:17)(cid:5)(cid:9)%(cid:9)close()(#(cid:9)(cid:9)
6.4 Communication par datagrammes (UDP)
(cid:10)
(cid:21)(cid:2)(cid:3)(cid:5)(cid:6)(cid:7)(cid:8)(cid:9)(cid:10)(cid:11)(cid:12)(cid:13)(cid:9)(cid:10)(cid:15)(cid:8)(cid:17)(cid:22)(cid:14)(cid:6)(cid:10)
#include <sys/types.h>
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
(cid:30)(cid:11)(cid:17)(cid:17)(cid:11)(cid:5)(cid:24)(cid:2)(cid:8)(cid:6)(cid:17)(cid:9)(cid:2)(cid:8)(cid:5)(cid:6)(cid:2)(cid:8)(cid:14)(cid:17)(cid:4)(cid:3)(cid:9)(cid:17)(cid:5)(cid:3)(cid:8)(cid:5)(cid:14)(cid:2)(cid:6)(cid:27)(cid:11)(cid:17)(cid:5)(cid:11)(cid:17)(cid:5)(cid:4)(cid:11)(cid:17)(cid:2)(cid:3)(cid:4)(cid:8)(cid:11)(cid:5)(cid:3)(cid:8)(cid:5)(cid:8)(cid:3)(cid:7)(cid:20)(cid:4)(cid:2)(cid:5)(cid:18)(cid:11)(cid:5)(cid:18)(cid:11)(cid:14)(cid:6)(cid:4)(cid:9)(cid:16)(cid:17)(cid:11)(cid:3)(cid:4)(cid:25)(cid:5)(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:3)(cid:8)(cid:11)(cid:5)(cid:13)(cid:9)(cid:15)(cid:9)(cid:14)(cid:2)(cid:8)(cid:5)(cid:16)(cid:15)(cid:4)(cid:5)(cid:18)(cid:15)(cid:17)(cid:15)(cid:29)(cid:4)(cid:15)(cid:7)(cid:7)(cid:11)(cid:14)(cid:5)
(cid:14)(cid:3)(cid:4)(cid:5) $(cid:1)(cid:19)%(cid:12)(cid:5) (cid:3)(cid:17)(cid:9)(cid:13)(cid:9)(cid:14)(cid:11).(cid:5) (cid:13)(cid:15)(cid:5) (cid:24)(cid:15)(cid:7)(cid:9)(cid:13)(cid:13)(cid:11)(cid:5) AF_INET(cid:12)(cid:5) (cid:13)(cid:11)(cid:5) (cid:17) (cid:16)(cid:11)(cid:5) SOCK_DGRAM(cid:5) (cid:11)(cid:17)(cid:5) (cid:13)(cid:11)(cid:5) (cid:16)(cid:4)(cid:2)(cid:17)(cid:2)(cid:6)(cid:2)(cid:13)(cid:11)(cid:5) (cid:16)(cid:15)(cid:4)(cid:5) (cid:18)(cid:20)(cid:24)(cid:15)(cid:3)(cid:17)(cid:5) 0(cid:25)(cid:5) (cid:5) /(cid:15)(cid:5) (cid:24)(cid:2)(cid:8)(cid:6)(cid:17)(cid:9)(cid:2)(cid:8)(cid:5)
(cid:4)(cid:11)(cid:17)(cid:2)(cid:3)(cid:4)(cid:8)(cid:11)(cid:5)-1(cid:5)(cid:11)(cid:8)(cid:5)(cid:6)(cid:15)(cid:14)(cid:5)(cid:18)!(cid:20)(cid:6)(cid:28)(cid:11)(cid:6)(cid:25)(cid:5)(cid:5)
(cid:21)(cid:8)(cid:9)(cid:9)(cid:14)(cid:19)(cid:7)(cid:8)(cid:9)(cid:10)(cid:11)(cid:14)(cid:10)(cid:15)(cid:8)(cid:17)(cid:22)(cid:14)(cid:6)(cid:15)(cid:10)
*(cid:21)(cid:9)(cid:25)(cid:28)(cid:3)(cid:23)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)connect(cid:9)(cid:15) (cid:8)(cid:5)(cid:9)(cid:8)(cid:3)(cid:9)(cid:7)(cid:8)(cid:11)(cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:17)(cid:3)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:9)&(cid:11)(cid:28)(cid:23)(cid:21)(cid:11)((cid:9)(cid:21)(cid:30)(cid:8)(cid:23)(cid:9)(cid:17)(cid:3)(cid:9)(cid:21)(cid:17)(cid:5)(cid:7)(cid:8)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:9)(cid:10)(cid:19)(cid:4)(cid:2)(cid:14)(cid:3)(cid:19)(cid:20)(cid:9)(cid:26)(cid:17)(cid:2)(cid:9)(cid:4)(cid:8)(cid:7)(cid:21)(cid:9)(cid:11)(cid:8)(cid:9)0(cid:23)(cid:28)(cid:7)(cid:7)(cid:8)(cid:4)(cid:18)(cid:28)(cid:3)(cid:10)(cid:21)(cid:3)(cid:5)(cid:9)
(cid:18)(cid:21)(cid:7)(cid:9)(cid:10)(cid:19)(cid:25)(cid:21)(cid:17)(cid:5)1(cid:9)(cid:18)(cid:28)(cid:17)(cid:7)(cid:9)(cid:11)(cid:21)(cid:9)(cid:4)(cid:17)(cid:2)(cid:5)(cid:8)(cid:9)(cid:10)(cid:8)(cid:4)(cid:9)(cid:28)(cid:18)(cid:19)(cid:7)(cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:4)#(cid:9)(cid:10)
#include <sys/types.h>
#include <sys/socket.h>
int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen);
(cid:10)
(cid:10)
(cid:10)
Publicité
(cid:9)
<(cid:9)
(cid:1)(cid:2)(cid:3)(cid:4)(cid:5)(cid:5)(cid:6)(cid:7)(cid:7)(cid:8)(cid:9)(cid:6)(cid:3)(cid:10)(cid:11)(cid:12)(cid:2)(cid:13)(cid:14)(cid:15)(cid:11)(cid:3)
(cid:29) (cid:3)(cid:2)(cid:30)(cid:8)(cid:7)(cid:4)(cid:2)(cid:5)(cid:19)(cid:9)(cid:31)(cid:2)(cid:7)(cid:5)(cid:17)(cid:8)(cid:11)(cid:11)(cid:8)(cid:9)(cid:10)(cid:8)(cid:9)(cid:27)(cid:17)(cid:3)(cid:2)(cid:4)(cid:9)
(cid:9)
(cid:10)
(cid:18)(cid:9)(cid:23)(cid:8)(cid:7)(cid:10)(cid:11)(cid:14)(cid:10)(cid:11)(cid:5)(cid:6)(cid:5)(cid:24)(cid:2)(cid:5)(cid:20) (cid:20) (cid:14)(cid:15)(cid:10)
)(cid:7)(cid:28)(cid:14)(cid:7)(cid:21)(cid:15) (cid:15) (cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:4)(cid:28)(cid:17)(cid:4)(cid:9)(cid:29) (cid:3)(cid:2)!(cid:9)
*(cid:21)(cid:9)(cid:23)(cid:28)(cid:15) (cid:15) (cid:17)(cid:3)(cid:2)(cid:23)(cid:21)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:7)(cid:19)(cid:4)(cid:8)(cid:21)(cid:17)(cid:9)(cid:8)(cid:5)(cid:9)(cid:27) )+$)(cid:9)
(cid:16)(cid:17)(cid:7)(cid:9)(cid:17)(cid:3)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:9)(cid:23)(cid:28)(cid:3)(cid:3)(cid:8)(cid:23)(cid:5)(cid:19)(cid:9)&(cid:30)(cid:28)(cid:2)(cid:7)(cid:9)(cid:23)(cid:2)+(cid:10)(cid:8)(cid:4)(cid:4)(cid:17)(cid:4)((cid:20)(cid:9)(cid:28)(cid:3)(cid:9)(cid:18)(cid:8)(cid:17)(cid:5)(cid:9)(cid:8)!(cid:18)(cid:19)(cid:10)(cid:2)(cid:8)(cid:7)(cid:9)(cid:10)(cid:8)(cid:4)(cid:9)(cid:10)(cid:21)(cid:5)(cid:21)(cid:14)(cid:7)(cid:21)(cid:15) (cid:15) (cid:8)(cid:4)(cid:9)&(cid:23)(cid:28)(cid:3)(cid:5)(cid:8)(cid:3)(cid:17)(cid:4)(cid:9)(cid:10)(cid:21)(cid:3)(cid:4)(cid:9)(cid:17)(cid:3)(cid:9)(cid:5)(cid:21)(cid:15) (cid:18)(cid:28)(cid:3)(cid:9)t(cid:9)(cid:10)(cid:8)(cid:9)
(cid:11)(cid:28)(cid:3)(cid:14)(cid:17)(cid:8)(cid:17)(cid:7)(cid:9)n((cid:9)(cid:18)(cid:21)(cid:7)(cid:9)write(sockfd,t,n)#(cid:9)(cid:10)
/(cid:15)(cid:5)(cid:24)(cid:2)(cid:8)(cid:6)(cid:17)(cid:9)(cid:2)(cid:8)(cid:5)send()(cid:5)(cid:5)
int send(int s, const void *msg, size_t len, int flags);
(cid:16)(cid:11)(cid:4)(cid:7)(cid:11)(cid:17)(cid:5)(cid:18)!(cid:9)(cid:8)(cid:18)(cid:9)(cid:10)(cid:3)(cid:11)(cid:4)(cid:5)(cid:18)(cid:11)(cid:14)(cid:5)(cid:15)(cid:11)(cid:7)(cid:16)(cid:1)(cid:12)(cid:5)(cid:16)(cid:15)(cid:4)(cid:5)(cid:11)(cid:31)(cid:11)(cid:7)(cid:16)(cid:13)(cid:11)(cid:5)MSG_DONTWAIT(cid:5)(cid:16)(cid:2)(cid:3)(cid:4)(cid:5)(cid:3)(cid:8)(cid:11)(cid:5)(cid:20)(cid:6)(cid:4)(cid:9)(cid:17)(cid:3)(cid:4)(cid:11)(cid:5)(cid:8)(cid:2)(cid:8)(cid:5)(cid:22)(cid:13)(cid:2)(cid:10)(cid:3)(cid:15)(cid:8)(cid:17)(cid:11)(cid:25)(cid:5)
0(cid:8)(cid:24)(cid:9)(cid:8)(cid:12)(cid:5)sendto()(cid:5)(cid:11)(cid:8)(cid:19)(cid:2)(cid:9)(cid:11)(cid:5)(cid:3)(cid:8)(cid:5)(cid:18)(cid:15)(cid:17)(cid:15)(cid:29)(cid:4)(cid:15)(cid:7)(cid:7)(cid:11)(cid:5)1(cid:5)(cid:3)(cid:8)(cid:11)(cid:5)(cid:15)(cid:18)(cid:4)(cid:11)(cid:14)(cid:14)(cid:11)(cid:5)(cid:14)(cid:16)(cid:20)(cid:6)(cid:9)(cid:24)(cid:9)(cid:20)(cid:11)(cid:12)(cid:5)(cid:14)(cid:3)(cid:4)(cid:5)(cid:3)(cid:8)(cid:5)(cid:14)(cid:2)(cid:6)(cid:27)(cid:11)(cid:17)(cid:5)(cid:6)(cid:2)(cid:8)(cid:8)(cid:11)(cid:6)(cid:17)(cid:20)(cid:5)(cid:2)(cid:3)(cid:5)(cid:8)(cid:2)(cid:8)(cid:25)(cid:5)(cid:5)
int sendto(int s, const void *msg, size_t len, int flags,
const struct sockaddr *to, socklen_t tolen);
(cid:10)
(cid:25)(cid:3)(cid:17)(cid:14)(cid:4)(cid:6)(cid:7)(cid:8)(cid:9)(cid:10)(cid:11)(cid:14)(cid:10)(cid:11)(cid:5)(cid:6)(cid:5)(cid:24)(cid:2)(cid:5)(cid:20) (cid:20) (cid:14)(cid:15)(cid:10)
$(cid:3)(cid:30)(cid:8)(cid:7)(cid:4)(cid:8)(cid:15) (cid:8)(cid:3)(cid:5)(cid:20)(cid:9)(cid:11)(cid:21)(cid:9)(cid:7)(cid:19)(cid:23)(cid:8)(cid:18)(cid:5)(cid:2)(cid:28)(cid:3)(cid:9)(cid:18)(cid:8)(cid:17)(cid:5)(cid:9)(cid:4)(cid:8)(cid:9)(cid:25)(cid:21)(cid:2)(cid:7)(cid:8)(cid:9)(cid:18)(cid:21)(cid:7)(cid:9)(cid:17)(cid:3)(cid:9)(cid:4)(cid:2)(cid:15) (cid:18)(cid:11)(cid:8)(cid:9)read()(cid:20)(cid:9)(cid:18)(cid:21)(cid:7)(cid:9)(cid:17)(cid:3)(cid:9)recv()(cid:9)&(cid:21)(cid:30)(cid:8)(cid:23)(cid:9)(cid:10)(cid:8)(cid:4)(cid:9)(cid:25)(cid:11)(cid:21)(cid:14)(cid:4)((cid:20)(cid:9)(cid:28)(cid:17)(cid:9)(cid:18)(cid:21)(cid:7)(cid:9)(cid:17)(cid:3)(cid:9)
recvfrom(cid:20)(cid:9)(cid:26)(cid:17)(cid:2)(cid:9)(cid:18)(cid:8)(cid:7)(cid:15) (cid:8)(cid:5)(cid:9)(cid:10)(cid:8)(cid:9)(cid:7)(cid:19)(cid:23)(cid:17)(cid:18)(cid:19)(cid:7)(cid:8)(cid:7)(cid:9)(cid:11)"(cid:21)(cid:10)(cid:7)(cid:8)(cid:4)(cid:4)(cid:8)(cid:9)from(cid:9)(cid:10)(cid:8)(cid:9)(cid:11)"(cid:19)(cid:15) (cid:8)(cid:5)(cid:5)(cid:8)(cid:17)(cid:7)#(cid:9)(cid:10)
int recv(int s, void *buf, size_t len, int flags);
int recvfrom(int s, void *buf, size_t len, int flags,
struct sockaddr from, socklen_t fromlen);
(cid:9)
6.5 Communication par flots de données (TCP)
/(cid:15)(cid:5)(cid:6)(cid:4)(cid:20)(cid:15)(cid:17)(cid:9)(cid:2)(cid:8)(cid:5)(cid:18)!(cid:3)(cid:8)(cid:5)(cid:14)(cid:2)(cid:6)(cid:27)(cid:11)(cid:17)(cid:5)(cid:16)(cid:2)(cid:3)(cid:4)(cid:5)"(cid:30)(cid:1)(cid:5)(cid:14)(cid:11)(cid:5)(cid:24)(cid:15)(cid:9)(cid:17)(cid:5)(cid:15)(cid:9)(cid:8)(cid:14)(cid:9)(cid:5)(cid:5)
int fd;
..
fd=socket(AF_INET,SOCK_STREAM,0);
(cid:10)
(cid:1)(cid:2)(cid:8)(cid:24)(cid:2)(cid:5)(cid:20) (cid:20) (cid:5)(cid:6)(cid:7)(cid:8)(cid:9)(cid:10)(cid:11)(cid:14)(cid:15)(cid:10)(cid:17)(cid:16)(cid:7)(cid:14)(cid:9)(cid:6)(cid:15)(cid:10)(cid:26)(cid:21)(cid:1)(cid:10)
*(cid:8)(cid:9)(cid:4)(cid:28)(cid:23)/(cid:8)(cid:5)(cid:9)(cid:10)"(cid:17)(cid:3)(cid:9)(cid:23)(cid:11)(cid:2)(cid:8)(cid:3)(cid:5)(cid:9)(cid:27) )(cid:9)(cid:10)(cid:28)(cid:2)(cid:5)(cid:9)3(cid:5)(cid:7)(cid:8)(cid:9)(cid:7)(cid:8)(cid:11)(cid:2)(cid:19)(cid:9)&(cid:18)(cid:21)(cid:7)(cid:9)connect()((cid:9)%(cid:9)(cid:23)(cid:8)(cid:11)(cid:17)(cid:2)(cid:9)(cid:10)(cid:17)(cid:9)(cid:4)(cid:8)(cid:7)(cid:30)(cid:8)(cid:17)(cid:7)(cid:20)(cid:9)(cid:8)(cid:5)(cid:9)(cid:2)(cid:11)(cid:9)(cid:8)(cid:4)(cid:5)(cid:9)(cid:17)(cid:5)(cid:2)(cid:11)(cid:2)(cid:4)(cid:19)(cid:9)(cid:8)(cid:3)(cid:4)(cid:17)(cid:2)(cid:5)(cid:8)(cid:9)(cid:18)(cid:21)(cid:7)(cid:9)(cid:10)(cid:8)(cid:4)(cid:9)
read()(cid:9)(cid:8)(cid:5)(cid:9)(cid:10...