Differences

This shows you the differences between two versions of the page.

Link to this comparison view

codaz:c:tcp_client [2010/01/12 13:29] (current)
Line 1: Line 1:
 +faisant echo au serveur TCP, voici le client :
  
 +La fonction prend le host et le port d'​interrogation en argument.
 +Elle retourne la socket créée ou -1 en cas d'​erreur.
 +
 +<code c>
 +int
 +tcpclient(char *host, int port) {
 +        int s;
 +        struct sockaddr_in sa;
 +        struct hostent *he;
 +
 +        if ((s = socket(PF_INET,​ SOCK_STREAM,​ 0)) < 0) {
 +                warn("​socket"​);​
 +                return (-1);
 +        }
 +
 +        bzero(&​sa,​ sizeof sa);
 +
 +        sa.sin_family = AF_INET;
 +        sa.sin_port = htons(port);​
 +
 +        if ((he = gethostbyname(host)) == NULL) {
 +                herror(host);​
 +                return (-1);
 +        }
 +
 +        bcopy(he->​h_addr_list[0],&​sa.sin_addr,​ he->​h_length);​
 +
 +        if (connect(s, (struct sockaddr *)&sa, sizeof sa) < 0) {
 +                warn("​connect"​);​
 +                close(s);
 +                return (-1);
 +        }
 +
 +        return (s);
 +}
 +</​code>​
codaz/c/tcp_client.txt · Last modified: 2010/01/12 13:29 (external edit)