How can I listen on more than one port at a time?



How can I listen on more than one port at a time?..

Answer / 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

More Unix Socket Programming Interview Questions

of the socket? Does doing a connect() call affect the receive behaviour?

1 Answers  


Explain the TIME_WAIT state.

1 Answers  


What exactly does SO_LINGER do?

1 Answers  


What is socket programming in java?

0 Answers  


Is a socket a file?

0 Answers  






How does unix socket work?

0 Answers  


How often should I re-transmit un-acknowleged messages?

1 Answers  


Why do we need sockets?

0 Answers  


Is tcp or unix socket faster?

0 Answers  


How can I tell when a socket is closed on the other end?

0 Answers  


What exactly does SO_REUSEADDR do?

1 Answers  


What exactly does SO_KEEPALIVE do?

1 Answers  


Categories