'Python socket ipv6 over network not working

I am trying to connect a server to a client in python with sockets. The problem is that with ipv6 binding, it works on my local network. What I want is to connect it to another network. These programs are written in Python 3

Here is the code of server.py:

import socket

HOST = someip
PORT = someport

server = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
server.bind((HOST, PORT))

server.listen()

Source code of client.py:

import socket
HOST = someip
PORT = someport

client = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
client.connect((HOST, PORT))

I think it is a port forwarding problem. I know the code does nothing right now, but I want to first establish the connection.



Solution 1:[1]

When the server receives a request, we need to put it in a loop to accept it. Like this

import socket

HOST = someip
PORT = someport

server = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
server.bind((HOST, PORT))
server.listen()
while True:
    try:
        conn, addr = server.accept()
        print(f"New request from {addr}")
    except KeyboardInterrupt:
        server.close()

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Sarsatra