Part I - The Story:
I have crafted a high performance TCP server in C#
(based on SocketAsyncEventArgs) which works brilliantly (for my cause). I have more than 7000 clients, sending me a message every 30 sec - 1 min.
In the past days I was studying Node.JS (for another, totally unrelated project) and I have learnt that Node.JS could be used as a TCP server. So I thought: "Heh...Let's see if it can compete with my 'state of the art' TCP server".
And it was astonishing how Node.JS was (is) more performant (in some cases far more performant) than that "state of the art TCP server" and was far simpler and used far less resources.
Part II - The Question:
Is it right to use Node.JS just for implementing a TCP server and not a web app? Does that considered as abusing Node.JS? And if anybody had did that what were the pros and cons in the long run?
Note (an important one): I have not implemented the message parsing part in Node.JS yet. So I must find a performant way to implement heavy-lifting in an async manner.