繁体   English   中英

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

[英]Connecting to a simple sockets python server remotely

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

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。 您应该在路由器上配置端口映射

但是,您只需要为服务器计算机配置端口映射
完成后,您可以使用客户端程序连接到您的服务器prigram。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM