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.

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);
}
codaz/c/tcp_client.txt · Last modified: 2010/01/12 13:29 (external edit)