URL: https://linuxfr.org/forums/programmation-c--2/posts/connect-sur-une-socket Title: connect() sur une socket Authors: Volnai Date: 2004年10月09日T01:41:04+02:00 Tags: Score: 0 Bonjour, alors voila, j'ai un programme qui ouvre une socket, comme ça : #define SOCK "./masocket" int fd,len; struct sockaddr_un sa; char buf[]="hello"; fd = socket(PF_UNIX, SOCK_STREAM, 0); len=sizeof(sa); sa.sun_family=AF_UNIX; strcpy(sa.sun_path,SOCK); bind(fd,(struct sockaddr *)&sa,len) listen(fd,5); connect(fd,(struct sockaddr *)&sa,len); Après compilation, connect() me renvoie un EINVAL (Invalid argument), alors que si je le supprime dans ce programme, et que j'en crée un second séparé qui fait le connect() (il fait tout pareil, sauf connect() à la place de listen(), un client quoi), ça fonctionne (pas de EINVAL chez le client). la question est simple et évidente : pourquoi je peut pas tout faire (listen puis connect) dans un seul programme ? Je sais, ça ne servirait à rien, mais quand même.

AltStyle によって変換されたページ (->オリジナル) /