注意:这个代码是很早之前的写的一个小代码,可能会有一些地方会出现一些小问题,但是我在局域网的情况下已经测试过了。仅仅是局域网
服务端代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: K_liu
'''
这是一个服务器端程序
可以通过TCP传输协议实现两路视频传输,一路指令传输,本程序采用一个随机数来模拟指令
'''
import socket
import struct
import time
import cv2
import numpy
import random
# 设置套接字,本程序采用TCP协议,当然也可以采用UDP协议,但是要保证指令传输的正确性,所以采用了TCP协议。
addr = ("0.0.0.0", 8080)
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR, 1) #端口可复用
server_socket.bind(addr) # 绑定地址端口
server_socket.listen(True) # 进入监听状态
def Package(camera,img, img_resolution, img_param, conn_client, flag):# 注意flag是一个数据区分标志,0和1分别表示两路数据
'本函数的主要功能是实现Opencv采集到的视频数据进行转码,同时进行数据打包传输'
number = random.randint(1,10) # 生