boby老师, 我在工作中碰到个问题, 想跟你请教下.

来源:10-4 socket 模拟 http请求

Joker25

2020-10-02

可能情况描述有点长, 不好意思.
是这样的, 我在做一个停车收费系统. django 写的. 之前有跟你交流过. 我对接的硬件是摄像头, 流程是这样, 摄像头有 http模式, 它会把拍摄到的车牌识别出来, 以http形式推送给我的程序, 进场和出场时都会推送记录, 这样我的程序根据这进出记录计算这个停车费用. 如果费用为0, 则在摄像头推送的那条http请求中直接返回给它开闸的指令(这是摄像头的开闸模式), 摄像头在局域网, 我的程序在云端. 这种返回开闸指令的方式, 有一定的失败概率, 一直没查到问题, 跟摄像头厂家也联系好几次了. 可能是这个http返回超过一定时间了, 摄像头发送http 到收到这个http返回内容, 超过了它的规定时间, 然后就不会开闸, 比如说1秒.所以大概率是网络原因, 程序应该没问题. 它除了这种开闸方式, 还有程序主动开闸, 就是我的程序主动调用摄像头的开闸接口, 有http和tcp两种, 这两种方式就非常稳, 不会有失败的情况, 但是这两种方式都只能在局域网, 我的程序是在云端, 是无法调用某一局域网内摄像头的接口的.
所以我就想问问有没有什么方式, 可以让我的程序能做到主动调用摄像头的接口. 不知道我描述的是否清楚, 有点多. 我有想过做nat映射, 但这个感觉不大好, 不能适用所有客户的局域网.

写回答

1回答

Joker25

提问者

2020-10-02

主动调用开闸的方式, 就是一个http get请求, 直接调用摄像头后台, 它就会立即开闸. 这个请求只需知道摄像头ip、端口就行了. 但我的程序部署在云端, 摄像头是在局域网, 就没法这样搞了

1
15
bobby
回复
Joker25
加你了
2020-11-20
共15条回复

Python3高级核心技术97讲,高级进阶的必学课程

socket编程/多线程/多进程/线程池/asyncio并发编程/协程和异步IO

2121 学习 · 551 问题

查看课程