My port forward rule 我创建了一个python TCP服务器和客户端,当我在我的计算机上启动服务器和客户端时以及当我在同一网络上的不同计算机上启动服务器和客户端时工作正常,但我想让它在计算机上工作在不同的网络。我已将我的路由器端口8080转发到我的计算机中转换为8888,事实上我还有一个规则,我的路由器上的端口80转换为我的PC上的8080,即Wamp服务器,并且因为python服务器不工作我猜测它来自代码,但我无法弄清楚:
服务器:
import socket
sck = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sck.bind(("127.0.0.1", 8888))
sck.listen(1)
conn, adr = sck.accept()
print('Connected to ', adr)
while 1:
data = conn.recv(1024).decode()
if data and ('over' not in data):
conn.send(data.encode())
continue
break
conn.close()
客户端:
import socket
sck = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sck.connect(('<my_external_ip>', 8888))
while True:
data = input('Say something: ')
if 'Shut up' in data:
sck.send('over'.encode())
sck.close
break
sck.send(data.encode())
我做了这个测试:
如果TCP服务器代码没有问题,为什么Wamp工作而他不工作?请检查以下内容 - 什么是绑定127.0.0.1背后的逻辑我无法理解......这不会让它只能被我的电脑访问吗?
如果那个部分没问题,至少是与服务器代码相关的东西,我猜......