前两天在腾讯云上租了一个云服务器终于实现了我公网通信的梦想!!
相关的资料好像还不多,本文基于windows系统操作,手把手带大家建立一个自己的公网服务器
登录云服务器
这里以腾讯云为例,在购买完服务器之后进入控制台点击登录按钮
这里提供了很多种登录方式,我使用的是远程桌面RDP登录,在这里点击RDP文件下载,在下载目录下点开远程桌面连接的那个文件即可
点完这些对话框输入你服务器的密码即可登录服务器(如果不知道原始密码,可以点开消息中心-更多站内信,在里面找到服务器创建成功的那一条通知,里面就有写原始密码)
进入新的桌面的话就可以登录进我们的服务器开始操作啦!
编写python代码
因为只是做一个简易的通信示例,我就直接在这里放python-socket相关的代码
服务器:
from socket import *
from time import *
HOST = ""
PORT = 21567
tcpSerSock = socket(AF_INET, SOCK_STREAM) # 创服务器套接字
tcpSerSock.bind((HOST, PORT)) # 套接字与地址绑定
tcpSerSock.listen(5) # 监听连接,传入连接请求的最大数
while True:
print("等待客户端连接...")
tcpCliSock, address = tcpSerSock.accept()
print("来自", address, "的连接")
while True:
data = tcpCliSock.recv(1024).decode("utf-8")
print('来自客户端的消息:'+data)
tcpCliSock.send((strftime("%Y-%m-%d %H:%M:%S")+" "+data).encode("utf-8"))
tcpCliSock.close()
客户端:
from socket import *
HOST = ""
PORT = 21567
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect((HOST, PORT))
while True:
data = input(">")
if not data:
break
tcpCliSock.send(data.encode("utf-8"))
data = tcpCliSock.recv(1024).decode("utf-8")
if not data:
break
print(data)
tcpCliSock.close()
注意!!!
注意!!!
服务器代码中的HOST里填写服务器的内网ip,也就是说服务器套接字bind的是内网ip地址
PORT为端口号,可用范围是0-65535
客户端代码中的HOST里才需要填写服务器的公网ip,端口号必须与服务器代码里的相同,这样才能让客户端与服务器成功连接
在服务器里运行代码
要在服务器里运行python代码,就必须要配置python环境,可以去其他文章找相关资料,这里就不过多说明
这里我是将上文服务器的代码打包成exe文件在服务器中直接运行,效果如图所示
然后在自家电脑打开客户端,如果显示出“>”并可以输入文字,即为连接成功
客户端发送效果:
服务器接收效果:
到这里就操作完成啦,恭喜你成功搭建了一个属于自己的python服务器
过段时间我会出更多服务器相关的文章,有什么问题或者建议的话欢迎私信或评论我哦!