Bonjour,

je suis en train de développer un petit soft client serveur avec 3 sockets différents

commun (le client informe le serveur)
envoi (le serveur parle au client)
reception (le client parle au serveur)

le code simplifié côté serveur donnerait ça:

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
void main(void) {
 
create_common_socket();
while( 1)
{
  if( read(sk_common, &info, sizeof( info_t )) > 0 )
  {
    switch( info.type )
    {
      case 1:
      create_receive_socket();
      create_send_socket();
      break;
 
    }
  }
}
}
Le premier socket est bien créé, le message est bien reçu mais l'exécution s'arrête lors de la création du deuxième socket:
ERROR in accept function (receive socket), errno 4


alors que si je fais:
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
void main(void) {
 
create_common_socket();
create_receive_socket();
create_send_socket();
while( 1)
{
  if( read(sk_common, &info, sizeof( info_t )) > 0 )
  {
    switch( info.type )
    {
      case 1:
      printf("message recu");
      break;
    }
  }
}
}
tout fonctionne.

Donc rien à signaler dans les fonctions de création des sockets.
D'ailleurs j'arrive pas trop à comprendre

Merci de votre aide