Answer Posted / chaitanya
The best way to do this is with the select() call. This tells the kernel to let you know when a socket is available for use. You can have one process do i/o with multiple sockets with this call. If you want to wait for a connect on sockets 4, 6 and 10 you might execute the following code snippet:
fd_set socklist;
FD_ZERO(&socklist); /* Always clear the structure first. */
FD_SET(4, &socklist);
FD_SET(6, &socklist);
FD_SET(10, &socklist);
if (select(11, NULL, &socklist, NULL, NULL) < 0)
perror("select");
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
How can I tell when a socket is closed on the other end?
What is active unix domain sockets?
What is a sae socket?
What is difference between socket () and serversocket () class?
Can multiple sockets use the same port?
How can I write a multi-homed server?
How does a socket work?
How do I use TCP_NODELAY?
How many socket connections can a server handle?
Is there any advantage to handling the signal, rather than just ignoring it and checking for the EPIPE error? Are there any useful parameters passed to the signal catching function?
Are unix sockets faster than tcp?
What pieces of information make up a socket?
What's the difference between a socket and a port?
Where is the socket located?
What is a socket file?