As Web developers we spend most of our days working with HTTP and the application layer. We know that our data gets transported over TCP but we rarely get to roll up our sleeves and write raw TCP code ourselves. In this talk we will examine use-cases where using TCP\UDP directly really shines, and how to implement them using Node.js and the 'net' module. We'll demonstrate how to bypass firewalls by creating outbound connections (like ngrok does). We'll see how to allow persistent bidirectional communication (like in the case of WebSockets). We'll gain a better understand how of SSH and VPNs work by creating a secure tunnel that encrypts its traffic. Of course we won't forget about the other major transport layer protocol- UDP, and we'll see why it's ideal for low-latency communication (as in DNS lookups and NTP time synchronization). By the end of this talk, youโll know when TCP\UDP is the right tool for the job, and most importantly, how to implement it in code!