URL: https://linuxfr.org/forums/programmation-c--2/posts/socket-et-bind Title: Socket et bind Authors: nicoastro Date: 2009年05月18日T01:15:14+02:00 Tags: Score: 0 Bonsoir, Celà fait un moment que je suis dessus, ne m’y connaissant pas trop j’ai appliqué plusieurs solutions glanées sur le net, mais rien à faire. Je vous présente la partie du code en cause : 29 int listen_socket; £spaces£ £/spaces30ドル struct sockaddr_in localaddr; £spaces£ £/spaces31ドル printf("Network thread started\n"); £spaces£ £/spaces32ドル listen_socket = socket(AF_INET, SOCK_STREAM, 0); £spaces£ £/spaces33ドル if(listen_socket == -1) { £spaces£ £/spaces34ドル printf("Error creating socket, aborting!\n"); £spaces£ £/spaces35ドル return(0); £spaces£ £/spaces36ドル } £spaces£ £/spaces37ドル bzero(&localaddr, sizeof(struct sockaddr)); £spaces£ £/spaces38ドル localaddr.sin_family = AF_INET; £spaces£ £/spaces39ドル int port = 12346; £spaces£ £/spaces40ドル localaddr.sin_port = htons(port); £spaces£ £/spaces41ドル localaddr.sin_addr.s_addr = htonl(INADDR_ANY); £spaces£ £/spaces42ドル int test = bind(listen_socket, (struct sockaddr*)&localaddr, sizeof(struct sockaddr)); £spaces£ £/spaces43ドル if(test == -1) { £spaces£ £/spaces44ドル printf("Error binding socket, aborting!\n"); £spaces£ £/spaces45ドル printf("%s\n", strerror(errno)); £spaces£ £/spaces46ドル return(0); £spaces£ £/spaces47ドル } £spaces£ £/spaces48ドル test = listen(listen_socket, 10); £spaces£ £/spaces49ドル if(!test) { £spaces£ £/spaces50ドル printf("Error listening socket, aborting!\n"); £spaces£ £/spaces51ドル printf("%s\n", strerror(errno)); £spaces£ £/spaces52ドル return(0); £spaces£ £/spaces53ドル } Et le résultat que j’obtiens : Error listening socket, aborting! Success Donc je ne m’en sors pas avec bind, de plus le code errno et le retour de bind sont contradictoires... Où est mon erreur ? Merci d’avance.

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