Vandana Chadha
Vandana Chadha

Reputation: 55

c++ socket programming: creating multiple streams

I am working on an app to start multiple streams in listener and caller modes after creating sockets. Right now, if I start one stream, the process kind of hangs because the stream is waiting for data. So this is clear to me that I need to start the stream in an async kind of process, so that the rest of the app keeps working.

Do I start the stream in:

This app is being done in c++.

Upvotes: 0

Views: 320

Answers (1)

John Zwinck
John Zwinck

Reputation: 249153

You can either use a library like Boost.Asio or the C function poll() (or select() which does basically the same thing) to wait on multiple sockets at once. Either way, you want to "multiplex" the sockets, meaning you block until any of them has data available, then you read from that one. This is how many network applications are built, and is usually more efficient, more scalable, and less error-prone than having a thread or process for each connection.

Upvotes: 1

Related Questions