云服务上简单部署一个socket服务

由于需要,需要部署到云服务器上一个应用,所以当前需要写一个后台程序,这样就可以实现,后台云服务器上运行AI程序,前端只需要request即可。测试demo如下,简单的发送一个指令,让服务器访问自己路径下方的xxxtxt然后返回打印输出。

前端程序如下:

import requests
import json
import base64
import os
import cv2
import time

from PIL import Image

# 指定要检测的图片并生成列表[("image", img_1), ("image", img_2), ... ]
file_list =["D:/xxx.txt"]# [":/Users/Administrator/Desktop/img2/demo3.jpg"]
files = "xxx.txt"#[("image", (open(item, "rb"))) for item in file_list]
#image=cv2.imread(file_list[0])
# 指定检测方法为pyramidbox_lite_server_mask并发送post请求#华为云服务器 地址
url = "http://服务器IP:8000/predict/image/pyramidbox_lite_server_mask"
sttime=time.time()
r = requests.post(url=url, data=files)
endtime=time.time()
#results1 = eval(r.json())#test  ai给的输出是dict可以转化为jason串读取。
print(r.text)
print(endtime-sttime)

后台服务器注意事项:

1,后台云上需要更改安全策略上的 端口设置,因为防止和其他web 端口复用,我直接开了8000端口,需要新建安全组,

然后添加安全组,新增配置规则,

然后保存这个安全规则,这个服务器选择并启用这个新的规则,这时候外网才可以访问这个端口。当时我犯错误是我用netstat -

a(或者 netstat -apnt)看到如下示例,虽然8000端口处于listen状态,但是因为安全规则不放开,所以外网是不可访问的。

2,遇到的问题ip地址不对,尝试0.0.0.0不行,尝试127.0.0.1不行,尝试公网IP不行,最后发现利用了私有IP才行,

3,端口尝试常用的web等端口,已经打开被占用,所以不能使用。

server地址:https://github.com/sdzzlover/cloudserver/tree/master

总结之:

1,socket的方式比较low,我们在私有云上部署应该可以了,像常用的TCPIP网站后台形式可能更有效率,后面需要学习下如何部署常用的网站后台模式和架构。另外webservice方式应该也不错,懂行的可以指点下。

2,实时性问题,网络延时是个大问题,与服务器和带宽有关,另外socket方式不知道多机共同访问时候的是不是会卡死或者延时过大,其他部署后台方式是不是更高效不会卡死。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值