what is blocking and non-blocking web server, what difference between both?

Viewed 8801

I have seen many a web framework provide a non-blocking web server, I just want to know what it means.

3 Answers

Using a blocking socket, execution will wait (ie. "block") until the full socket operation has taken place. So, you can process any results/responses in your code immediately after. These are also called synchronous sockets.

A non-blocking socket operation will allow execution to resume immediately and you can handle the server's response with a callback or event. These are called asynchronous sockets.

Non-blocking generally means event driven, multiplexing all activity via an event driven system in a single thread, as opposed to using multiple threads.

Related