Hello !
j'ai un p'tit problème de socket... En fait dans une boucle while j'ouvre une socket (j'effectue mes actions souhaités sans problèmes) puis je la ferme....
A la première itération, ma socket a le port que je souhaite...
Par contre à la 2° itération, mon port devient 0, alors que je veux recréer sur le port de départ !
J'ai essayé de mettre la création une seule fois à l'extérieur de ma boucle while, mais alors j'ai une erreur du type: "transport endpoint already connect"
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 while(bool) { int elu=-1; char bloc[10] ; int continu=1 ; int sTCP = createBindInetSocketTCP(SOCK_STREAM,port) ; ........... } //on passe en tcp pour le téléchargement du bloc. if (elu==-1) { close(sTCP) ; bool=0 ; } else if (connect(sTCP, (struct sockaddr*)reponse, sizeof (struct sockaddr_in))<0) ............. close(sTCP); ........... } }
Partager