Python, create a TCP server
The Python standard library provides the socketserver
package. We can use that to create a TCP server.
from socketserver import BaseRequestHandler, TCPServer
class handler(BaseRequestHandler):
def handle(self):
while True:
msg = self.request.recv(1024)
if msg == b'quit\n':
break
self.request.send(b'Message received: ' + msg)
with TCPServer(('', 8000), handler) as server:
server.serve_forever()
Connect to this using Netcat, a handy utility that is very useful to test-drive TCP and UDP servers. It’s installed by default on Linux and macOS, available under the nc
command:
nc localhost 8000
Once it’s connected to the server, you can send any message by typing it. The server will reply with a confirmation of the message received.
Until you say quit
. Then the connection will close (but the server will still run, you can connect again)
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025