Skip to content
FLAVIO COPES
flaviocopes.com
2026

Python, create a TCP server

By Flavio Copes

Learn how to create a TCP server in Python using the socketserver package with TCPServer and a request handler, then test it with the Netcat nc command.

~~~

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)

Terminal showing netcat connecting to Python TCP server, sending messages hi and test, receiving confirmations, then quitting

Tagged: Python · All topics
~~~

Related posts about python: