Sélection sur plusieurs sockets
Bonjour,
j'aimerais savoir s'il existe un moyen d'utiliser 2 sockets avec les interruptions
voir code suivant :
Code:
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
| sockfd = init_socket(50001);
sockfd2 = init_socket(50000); --> posséde bind+listen
while(1)
{
/* re-initialisation structure d'ecoute */
FD_ZERO(&socks);
/* choix des ports d'ecoute*/
FD_SET(sockfd,&socks);
FD_SET(sockfd2,&socks);
FD_SET(keyboard,&socks);
select(sockfd+1, &socks, NULL, NULL, NULL);
/*select(sockfd2+1, &socks, NULL, NULL, NULL);*/
/* its */
if (FD_ISSET(sockfd,&socks))
read_network(sockfd); --- > possède un accept
if (FD_ISSET(keyboard,&socks))
read_clavier();
if (FD_ISSET(sockfd2,&socks))
read_network(sockfd2);
} |
Le but de ce code serait de générer une interruption soit avec sockdf soit avec sockfd2 soit avec keyboard or dans mon cas impossible d'avoir deux sockets
car on est obligé d'avoir un seul select