0
我有一个python聊天程序server.py和client.py。它适用于我的本地系统,但是当我尝试连接到远程主机,如koding.com ubuntu-vm或cloud9 ubuntu-vm时,它不起作用。Python Socket聊天程序在远程系统中不起作用
我无法通过网络访问远程客户端。
这个link暗示了我的一些问题。
我的目标是利用互联网不是局域网
下面是聊天server.py
import socket
import thread
HOST = ''
PORT = 4444
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
while True:
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
data = conn.recv(1024)
if data[:4] == "exit":
print 'Parted by', addr
else:
conn.send(data),
if not data:
break
print data
conn.close
下面是聊天client.py聊天
import socket
getHOST = (raw_input('Enter the Host: '))
print getHOST
HOST = getHOST
PORT = 4444
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
NICK = raw_input('Welcome, Enter your name: ')
while True:
MSG = raw_input('>> ')
MSG = NICK + ': ' + MSG
if MSG[5:] == "exit":
break
s.send(MSG)
data = s.recv(1024)
print data
s.close()
*不起作用*没用!请给出确切的错误,而不是让别人猜测2015年可能发生了什么 –
,我建议你使用Python 3 :) –
如果你的应用程序在本地工作,但不能从远程系统工作,那么你很可能需要打开对4444端口的访问看起来cloud9正在Google云上运行,所以你可能在那里运气不好(他们只支持一些特定的服务)。 Koding虚拟机托管在AWS上,他们声称所有的端口都是打开的。也许你的本地网络在4444端口有问题? –