← flaviocopes.com

Python, create a TCP server

Published Feb 11 2021

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':
            self.request.send(b'Message received: ' + msg)

with TCPServer(('', 8000), handler) as server:

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)

Wanna go from noobie to expert?

I wrote an entire book on this topic πŸ‘‡

© 2023 Flavio Copes Flavio Copes using Notion to Site Notion to Site. Follow on Twitter

Solopreneur? Wannabe? Adventure awaits