Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用Python套接字模块在本地网络外部连接到我电脑上的服务器程序_Python_Python 3.x_Server - Fatal编程技术网

Can';t使用Python套接字模块在本地网络外部连接到我电脑上的服务器程序

Can';t使用Python套接字模块在本地网络外部连接到我电脑上的服务器程序,python,python-3.x,server,Python,Python 3.x,Server,因此,我正在尝试连接到我的家用计算机,它正在运行Python中的服务器脚本。 在客户端程序中,我使用服务器PC的IpV4地址尝试连接到它。 我正在尝试连接客户端程序的两个实例,它们都连接到与服务器不同的WiFi路由器。 服务器程序代码: from socket import * while True: print("Connecting") s = socket() f = socket() s.bind((gethostname(), 10000))

因此,我正在尝试连接到我的家用计算机,它正在运行Python中的服务器脚本。 在客户端程序中,我使用服务器PC的IpV4地址尝试连接到它。 我正在尝试连接客户端程序的两个实例,它们都连接到与服务器不同的WiFi路由器。 服务器程序代码:

from socket import *
while True:
    print("Connecting")
    s = socket()
    f = socket()
    s.bind((gethostname(), 10000))

    s.listen(2)

    c, a = s.accept()
    print("1st client connected")
    x, v = s.accept()
    print("2nd client connected")
    print('Both clients connected')
    while True:
        try:
            p = c.recv(1024).decode('utf-8')
            p2 = x.recv(1024).decode('utf-8')
            print(p)
            print(p2)
            c.send(p2.encode("utf-8"))
            x.send(p.encode("utf-8"))
        except ConnectionResetError:
            break
    s.close()
    c.close()
    print("Clients disconected")
客户端代码(我是否使用正确的Ip?)

然后在一些代码之后:

s.send(str(self.pos()).encode("utf-8"))
然后在更多代码之后:

self.pe = s.recv(1024).decode('utf-8')

如何在本地网络之外工作?

欢迎来到网络世界!让单独的本地网络一起通信的概念称为路由。这意味着您的问题无法在程序级别解决,但您必须在两个网络之间配置路由。完成后,程序将以跨父方式运行。换言之,这个问题在这里是离题的,因为它不是一个编程问题。我投票以离题结束这个问题,因为它是关于一般的网络,而不是关于编程。但是它不适合服务器故障(太普遍了)。欢迎来到网络世界!让单独的本地网络一起通信的概念称为路由。这意味着您的问题无法在程序级别解决,但您必须在两个网络之间配置路由。完成后,程序将以跨父方式运行。换言之,这个问题在这里是离题的,因为它不是一个编程问题。我投票以离题结束这个问题,因为它是关于一般的网络,而不是关于编程。但它不适合于服务器故障(太普遍)。
self.pe = s.recv(1024).decode('utf-8')