This doesn't change anything in what I've said. ICS uses asynchronous operation. It means that it can serve hundreds of clients using a single thread. But it also mean you can block everything if you don't follow the rules of asynchronous programming. The best performance is usually a mix between asynchonous and threaded operation. Use asynchronous for everything except lengthy operation for which you start a thread (well better to have a thread pool than starting/stopping threads). There is no absolute best way of programming. A case is not the other. There are way too much items impacting performances.
Roland, I don´t know about ICS HTTP Server (Cause I never used this particularly), but we use ICS as a foundation for TCP/IP communication in our software and I have to tell you that this is the best TCP/IP library I have already worked with
This doesn't change anything in what I've said. ICS uses asynchronous operation. It means that it can serve hundreds of clients using a single thread. But it also mean you can block everything if you don't follow the rules of asynchronous programming. The best performance is usually a mix between asynchonous and threaded operation. Use asynchronous for everything except lengthy operation for which you start a thread (well better to have a thread pool than starting/stopping threads). There is no absolute best way of programming. A case is not the other. There are way too much items impacting performances.
ReplyDeleteOk. Thanks I will give ICS a try.
ReplyDeleteRoland, I don´t know about ICS HTTP Server (Cause I never used this particularly), but we use ICS as a foundation for TCP/IP communication in our software and I have to tell you that this is the best TCP/IP library I have already worked with
ReplyDelete