我用python-flask-opnecv读取到了实时摄像头的数据将图像以视频流形式返回到前端。如何通过另一个python程序进行后端服务的触发而不用通过前端请求同时避免进行视频流的传输。给出代码示例
可以使用Python内置的socket库来实现两个Python程序之间的通信,其中一个程序作为服务端,另一个程序作为客户端。服务端程序可以监听指定的端口并等待客户端连接,一旦客户端连接成功,就可以向服务端发送消息,服务端接收到消息后执行相应的操作。
以下是一个简单的示例代码,其中服务端程序监听本地的5000端口,等待客户端连接并接收消息,一旦接收到消息就打印出来。客户端程序连接到服务端并发送一条消息:
服务端程序:
import socket
HOST = '127.0.0.1'
PORT = 5000
def main():
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
conn, addr = s.accept()
with conn:
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data:
break
print(data.decode())
if __name__ == '__main__':
main()
客户端程序:
import socket
HOST = '127.0.0.1'
PORT = 5000
def main():
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'Hello, world!')
if __name__ == '__main__':
main()
在实际应用中,可以将服务端程序与视频流处理程序集成在一起,通过客户端程序控制视频流处理程序的启停等操作。
原文地址: https://www.cveoy.top/t/topic/bsRV 著作权归作者所有。请勿转载和采集!