我正在尝试通过套接字发送帧,并且在编码后它们通常是 50 000 - 80 000 字节,所以我通过循环接收数据,但是由于客户端总是发送帧,所以下面代码中的循环不会中断,所以当我运行时没有任何反应并且接收循环继续
客户
import socket
import cv2
import time
s = socket.socket(socket.AF_INET , socket.SOCK_STREAM)
s.connect(("127.0.0.1",60124))
camera = cv2.VideoCapture(0)
while True :
r , f = camera.read()
f = cv2.imencode(".jpg",f)[1].tostring()
s.sendall(f)
服务器
import socket
import numpy as np
import cv2
s = socket.socket(socket.AF_INET , socket.SOCK_STREAM)
s.bind(("127.0.0.1",60124))
s.listen(5)
c , a = s.accept()
while True :
data = ""
while True:
f = c.recv(1024)
if not f :
break
data += f
x = np.fromstring(data , np.uint8)
var = cv2.imdecode(x , cv2.IMREAD_COLOR)
cv2.imshow("Camera" , var)
cv2.waitKey(1)
请帮助
波斯汪
相关分类