I first started learning how to code at age 12 when I taught myself how to make basic Windows batch scripts. It wasn’t long after that when the easy-to-use GUI drawing feature of Visual Basic 6 had me hooked on programming for good.

I graduated onto making proper network connected applications shortly thereafter. I was obsessed with making client-server programs that could talk to each other over TCP. I spent many of my younger years hacking away at the VB6 WinSock API. First learning how to make one client talk to a server, then figuring out how to make the server handle multiple clients at once and so on…

More recently I was tasked with making a real-time scoreboard for a company I’m currently contracting for. It involved an AngularJS front-end with a WebSocket client and a Node.JS server that would accept connections and broadcast the latest scores from a text file.

To be honest, before taking on this challenge, my Node.JS/Angular experience was sparse at best. But I saw the challenge as an opportunity and quickly learned what I needed to get the job done.

I was amazed at how quickly you can make a multi-threaded network application using Node.JS and the standard JavaScript WebSocket library. In a few minutes you can do something that used to take hours to figure out.

I was so amazed I thought I would make a tutorial explaining how to create a multi threaded chat client and server using Ionic and Node.JS.

Continue reading this article…