Bonjour, flash 8 m'affiche connection echouee apres 6 sec, pouvez me dire si ce code manque quelque chose ?

Flash:
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
 
ipserveur="xxx.xxx.xxx.xxx";//je l'ai volontairement enlevé pour le postage
_root.variable="identification ...";
 
 
mySocket = new XMLSocket();
 
mySocket.onConnect = function(success) {
if (success) {
_root.variable= "connection ok";
} else {
_root.variable= "connection echouee";
}
};
 
mySocket.onClose = function() {
_root.variable= "connection fermee";
};
 
XMLSocket.prototype.onData = function(msg) {
_root.variable= msg;
};
 
mySocket.connect(ipserveur, 18000);
 
stop();
serveur:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 
int main(int argc, char* argv[])
{
 
  int ds,port,ta,da,sock;
  struct sockaddr_in name;
 
  puts("Serveur en attente");
  puts("");
 
  port = 18000;  
  ds = socket(PF_INET, SOCK_STREAM, 0); //On crée notre socket de connection
 
  if(ds < 0) //Avec un test pour éviter les erreurs
  {
      perror("Probleme socket : ");
      exit(-1);
  }
  init_sockaddr(&name,"0.0.0.0",port); //On initialise notre socket internet, le port ecoute sur toute les adresse
  if (bind(ds, (struct sockaddr *) &name, sizeof(struct sockaddr)) < 0) //On bind
  {									//Avec un test pour éviter les erreurs
      perror("Probleme bind : ");
      exit(-1);
  }
  if(listen(ds, FILED) < 0 )	//On listen dans notre socket de connexion jusqu'à "FILED" client max
  {				//Avec un test pour éviter les erreurs
      perror("Probleme listen  ");
      exit(-2);
  }
  while(1)	//Serveur multi-client donc boucle infinie
  {
 
      FD_ZERO(listeClients);	//On reinitialise notre liste d'attente
      FD_SET(ds,listeClients);	//Dans laquelle on place notre socket de connexion
      if((select(FILED+1, listeClients,  NULL, NULL,NULL)) < 0)	//On fait notre select sur notre liste de client
	  {							//Avec un test pour éviter les erreurs
	    perror("select");
	    exit(-3);
	  }   
      for(sock=3;sock < FILED;sock++)	//On parcourt toutes nos (potentielles) sockets
	  {
 
	    if(FD_ISSET(sock,listeClients))	//On regarde quelle descripteur change d'etat
	    {
	      if(sock==ds)	//Si c'est la socket de connection...
		  {
		     da = accept(ds, (struct sockaddr *) &name, &ta);	//...on l'accepte...
		     if(da < 0)					//...toujours avec un test pour éviter les erreurs...
		     {
		       perror("Probleme accept  ");
		       exit(-3);
		     }
		     printf("Connexion socket n°%d établie\n",da);
		     FD_SET(da,listeClients);	//...et on la rajoute dans notre liste de clients
	      }
          else str_echo(sock);//traiterClient(sock);	
          //Si ce n'est pas la socket de connection, c'est alors une socket de data
		  //On appelle donc notre fonction de transfert proprement dite en passant en argument...
        }	//...la socket où le client envoi son fichier
      }
  }
  close(da);	
  close(ds);
  return 0;
}
 
 
void init_sockaddr (struct sockaddr_in *name, const char *hostname, uint16_t port)
{
  struct hostent *hostinfo; 
 
 
  name->sin_family = AF_INET;   // Adresses IPV4 (Internet) 
  name->sin_port = htons (port); // On gère le little/big Endian 
 
  hostinfo = gethostbyname (hostname); // appeler les fonctions de résolution de nom de la libC 
 
  if (hostinfo == NULL) // Si ne peut transformer le nom de la machine en adresse IP 
    {
      fprintf (stderr, "Unknown host %s.\n", hostname);
      exit (-1);
    }
  name->sin_addr = *(struct in_addr *) hostinfo->h_addr; // Le dernier champs de la structure est garni 
}
void str_echo(int sockfd)
{
	printf("Bonjour\n");
}
Affiche:
Serveur en attente

---> je lance le flash
Connexion socket n°4 établie
Bonjour