我觉得我有两个选择:
我可以继续在我自己的服务器上运行此代码,如果我可以弄清楚如何在托管的云服务器上托管此服务器脚本,或者我可以获取代码,每个不包含服务器部分的位,并通过POST请求从客户端获取“数据”。
数据是从客户端发送的数据......
bap = {}
while 1:
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_address = ("localhost", 8081)
#print 'starting up on %s port %s' % server_address
server.bind(server_address)
server.listen(5)
connection, client_address = server.accept()
#print 'connection from', connection.getpeername()
server.close()
data = connection.recv(4096)
if data in bap:
print data + " is checking in!!!"
for k, v in bap.iteritems():
if k == data:
bap[k] = 10
print bap
c = open('check.json', "w")
wiz = json.dumps(bap)
c.write(wiz)
c.close()
else:
bap[k] -= 1
if bap[k] < 0:
print k + " is Offline!!!"
mail()
c = open('log.txt', "a")
wiz = json.dumps(bap)
time1 = datetime.datetime.now().strftime("%m/%d/%y %H:%M ")
c.write(k + " is offline!!! "+ time1 + "\n")
c.close()
else:
print bap
else:
bap[data] = 10
print data + " was added!!!"
答案 0 :(得分:1)
可以在Amazon EC2上运行侦听外部端口的python脚本。
1)使用Amazon Web Services处的管理控制台创建EC2实例。
2)编辑与您的实例关联的安全组,以便打开您希望python脚本收听的端口号。
3)在EC2实例上上传并运行脚本。确保脚本正在侦听的端口号与您在安全组中打开的端口号相同。
如果您通过SSH连接到您的EC2实例,您可能希望使用TMUX之类的东西在“后台进程”中运行python脚本。否则,当您终止SSH连接时,您的python脚本将停止运行。