无法通过Python套接字连接到另一台电脑
我正在尝试通过Internet在客户端和服务器之间进行通信,两者都是用Python编写的。我有服务器的下一个代码:无法通过Python套接字连接到另一台电脑,python,sockets,ubuntu-14.04,Python,Sockets,Ubuntu 14.04,我正在尝试通过Internet在客户端和服务器之间进行通信,两者都是用Python编写的。我有服务器的下一个代码: def handle_client(clnt): while True: data = clnt.recv(1024) if data: print data, del data sock = socket.socket() sock.bind(('0.0.0.0', 12345)) sock.lis
def handle_client(clnt):
while True:
data = clnt.recv(1024)
if data:
print data,
del data
sock = socket.socket()
sock.bind(('0.0.0.0', 12345))
sock.listen(5)
while True:
client,addr = sock.accept()
print "[*] Accepted connection from: %s:%d" % (addr[0],addr[1])
# spin up our client thread to handle incoming data
client_handler = threading.Thread(target=handle_client,args=(client,))
client_handler.start()
client.close()
对于客户:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('my public IP-address', 12345))
sock.send('Some plain text')
使用localhost时,它工作正常。在我将它加载到我的Ubuntu-14.04服务器(它不在同一个本地网络中)后,客户端不想连接。输出为:
socket.error: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
我已经为服务器防火墙创建了规则,以管理员身份运行服务器和客户端,禁用了客户端防病毒,检查了Internet连接,相互ping,但似乎仍然无法正常工作,一次又一次地抛出相同的错误(如果服务器未启动,则会显示相同的错误)
有什么问题或如何解决这个问题的想法吗?您的网络设置是什么?你能成功访问Ubuntu box上的其他服务吗?服务器直接连接到我的互联网提供商网络,客户端通过路由器。两者都有静态IP和相同的提供程序。是的,我可以。提供商封锁某些端口范围或做其他有趣的事情并非未知。尝试在端口12345上运行类似apache的东西,看看是否有效?另外,您是否尝试绑定到实际正确的接口IP,而不是使用
0.0.0
?忘了再说一件事:此服务器是我的Proxmox venv上的一个VM。但是当我创建它(VM)时,我直接连接了它。Proxmox可从外部世界获得。是的,我试过了。你的网络设置是什么?你能成功访问Ubuntu box上的其他服务吗?服务器直接连接到我的互联网提供商网络,客户端通过路由器。两者都有静态IP和相同的提供程序。是的,我可以。提供商封锁某些端口范围或做其他有趣的事情并非未知。尝试在端口12345上运行类似apache的东西,看看是否有效?另外,您是否尝试绑定到实际正确的接口IP,而不是使用0.0.0
?忘了再说一件事:此服务器是我的Proxmox venv上的一个VM。但是当我创建它(VM)时,我直接连接了它。Proxmox可从外部世界获得。是的,我试过了。