Example: Configure a custom port to listen for incoming socket connections

The following example Python script configures a custom port, port 9999, to accept incoming socket connections.

You will also need to add a custom firewall rule to accept the incoming traffic on this port.

Example script

import socket
import socketserver

class MyTCPHandler(socketserver.BaseRequestHandler):
    """
    The request handler class for our server.

    It is instantiated once per connection to the server, and must
    override the handle() method to implement communication to the
    client.
    """

    def handle(self):
        # self.request is the TCP socket connected to the client
        self.data = self.request.recv(1024).strip()
        print("{} wrote:".format(self.client_address[0]))
        print(self.data)
        # just send back the same data, but upper-cased
        self.request.sendall(self.data.upper())

if __name__ == "__main__":
    HOST, PORT ='', 9999

    # Create the server, binding to localhost on port 9999
    with socketserver.TCPServer((HOST, PORT), MyTCPHandler) as server:
        # Activate the server; this will keep running until you
        # interrupt the program with Ctrl-C
        print("Waiting for data...")
        server.serve_forever()

Create a custom firewall rule

  Web

  1. Log into Digi Remote Manager, or log into the local Web UI as a user with full Admin access rights.
  2. Access the device configuration:

  3. Click Firewall > Custom rules.
  4. Enable the custom rules.
  5. For Rules, type the following:
    iptables -I INPUT -p tcp --dport 9999 -j ACCEPT
  6. Click Apply to save the configuration and apply the change.