Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
远程连接到简单的python服务器_Python_Sockets_Tcp_Linode - Fatal编程技术网

远程连接到简单的python服务器

远程连接到简单的python服务器,python,sockets,tcp,linode,Python,Sockets,Tcp,Linode,我正在尝试设置一个非常简单的套接字应用程序。我的服务器代码是: import socket s = socket.socket() host = socket.gethostname() port = 1234 s.bind((host,port)) s.listen(5) #Here we wait for a client connection while True: c, addr = s.accept() print "Got a connection from:

我正在尝试设置一个非常简单的套接字应用程序。我的服务器代码是:

import socket

s = socket.socket()
host = socket.gethostname()

port = 1234
s.bind((host,port))

s.listen(5) #Here we wait for a client connection
while True:
    c, addr = s.accept()
    print "Got a connection from: ", addr
    c.send("Thanks for connecting")
    c.close()
我将此文件放在远程Linode服务器上,并使用
python server.py
运行它。我已使用
nap
检查端口是否打开:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
1234/tcp open  hotline
现在,我在本地计算机上运行client.py:

import socket              # Import socket module

s = socket.socket()        # Create a socket object
port = 1234                # Reserve a port for your service.

s.connect(("139.xxx.xx.xx", port))
print s.recv(1024)
s.close                    # Close the socket when done

然而,我没有收到任何活动或联系的报告。有人能给我一些建议,告诉我该怎么做吗?我是否需要在client.py中指定的IP地址中包含主机名?任何帮助都将不胜感激

我刚刚总结了我们的评论,所以您的问题是:

当您试图使用客户端程序通过Internet而不是LAN连接到服务器时。 您应该配置 在你的路由器上

但是,您只需要配置 对于您的服务器计算机
完成后,就可以使用客户端程序连接到服务器程序


你做端口映射了吗?服务器和客户端都没有发生任何事情?您等待了多长时间(因为连接尝试可能需要一段时间才能超时)?@KevinGuan没有做任何端口映射,不确定那是什么is@JoachimPileborg这两种情况都没有发生。客户端脚本确实可以工作,当我运行nap时,它实际上会报告一个连接(但连接本身就是),看起来您正在尝试使用客户端通过Internet而不是LAN连接到服务器。所以也许你需要做端口映射。请参阅维基: