网站提供什么服务,网站建设的功能特点有哪些,成都旅游攻略详细安排,网站备案加急目录
一、子线程创建websockets服务端接收客户端数据
二、主线程内启动子线程接收并处理数据
一、子线程创建websockets服务端接收客户端数据并存入队列
发送的消息客户端与服务端统一#xff0c;多种消息加入判断的标签
服务端#xff1a;web_server.py
import asynci…
目录
一、子线程创建websockets服务端接收客户端数据
二、主线程内启动子线程接收并处理数据
一、子线程创建websockets服务端接收客户端数据并存入队列
发送的消息客户端与服务端统一多种消息加入判断的标签
服务端web_server.py
import asyncio
import json
import base64
import queue
import threading
import time
import cv2
import moment
import numpy as np
import requests
import websocketsclass WebServer:def __init__(self, host, port):self.host hostself.port portself.msg_queue queue.Queue()self.clients []self.flag Trueasync def echo(self, websocket, path):client_ip, client_port websocket.remote_addressself.clients.append(websocket)while True:try:# 在这里处理收到的消息# async for recv_text in websocket:recv_text await websocket.recv()with open(aa.txt,w) as f:f.write(recv_text)data json.loads(recv_text)#if type(data) is not dict: # 判断数据# continueself.msg_queue.put(res)except websockets.ConnectionClosed:print(ConnectionClosed..., websocket.remote_address) # 链接断开self.clients.remove(websocket)breakexcept websockets.InvalidState:print(InvalidState..., websocket.remote_address) # 无效状态self.clients.remove(websocket)breakexcept Exception as err:print(ws:, err)passdef connect(self):asyncio.set_event_loop(asyncio.new_event_loop())start_server websockets.serve(self.echo, self.host, self.port)asyncio.get_event_loop().run_until_complete(start_server)asyncio.get_event_loop().run_forever()print(连接成功)def run(self):t threading.Thread(targetself.connect)t.start()print(已启动)
二、主线程内启动子线程接收并处理数据
收到消息后根据情况处理消息
主线程调用服务端main.py
from web_server import WebServerclass MainThread:def __init__(self):self.ws WebServer(192.168.6.28, 8000)self.ws.run()def run(self):while True:try:data self.ws.msg_queue.get()# flag data.get(flag) # 内容标签 判断是否是自己想要的内容# if not flag:# continuetry:# 处理数据print(data)passexcept Exception as e:print(报错:, e)except Exception as err:print(报错:, err)passif __name__ __main__:M MainThread()M.run()客户端web_client.py
客户端连接服务端并发送消息
import jsonimport websocketclass WebClient:def __init__(self, host, port):self.host hostself.port portself.conn Noneself.flag Falsedef connect(self):try:url fws://{self.host}:{self.port}self.conn websocket.create_connection(url)self.flag Trueexcept Exception as err:self.flag Falsedef close(self):self.conn.close()def recv(self):data self.conn.recv(1024)print(data)def send(self, data):self.conn.send(data)if __name__ __main__:host 192.168.6.28# host 127.0.0.1port 8000ws WebClient(host, port)if not ws.flag:ws.connect()with open(bb.txt) as f:data f.read()ws.send(data) 文章转载自: http://www.morning.pnbls.cn.gov.cn.pnbls.cn http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn http://www.morning.dwdjj.cn.gov.cn.dwdjj.cn http://www.morning.jqrhz.cn.gov.cn.jqrhz.cn http://www.morning.qddtd.cn.gov.cn.qddtd.cn http://www.morning.kwyq.cn.gov.cn.kwyq.cn http://www.morning.dshkp.cn.gov.cn.dshkp.cn http://www.morning.cprbp.cn.gov.cn.cprbp.cn http://www.morning.nclps.cn.gov.cn.nclps.cn http://www.morning.nlzpj.cn.gov.cn.nlzpj.cn http://www.morning.mmqng.cn.gov.cn.mmqng.cn http://www.morning.mhmcr.cn.gov.cn.mhmcr.cn http://www.morning.ldsgm.cn.gov.cn.ldsgm.cn http://www.morning.mxnrl.cn.gov.cn.mxnrl.cn http://www.morning.dtlnz.cn.gov.cn.dtlnz.cn http://www.morning.jrksk.cn.gov.cn.jrksk.cn http://www.morning.wfpmt.cn.gov.cn.wfpmt.cn http://www.morning.plflq.cn.gov.cn.plflq.cn http://www.morning.zfxrx.cn.gov.cn.zfxrx.cn http://www.morning.zbnts.cn.gov.cn.zbnts.cn http://www.morning.fyglg.cn.gov.cn.fyglg.cn http://www.morning.sthgm.cn.gov.cn.sthgm.cn http://www.morning.rdkqt.cn.gov.cn.rdkqt.cn http://www.morning.hkcjx.cn.gov.cn.hkcjx.cn http://www.morning.kntbk.cn.gov.cn.kntbk.cn http://www.morning.hxwhyjh.com.gov.cn.hxwhyjh.com http://www.morning.lfgql.cn.gov.cn.lfgql.cn http://www.morning.qftzk.cn.gov.cn.qftzk.cn http://www.morning.mczjq.cn.gov.cn.mczjq.cn http://www.morning.dbqcw.com.gov.cn.dbqcw.com http://www.morning.ffptd.cn.gov.cn.ffptd.cn http://www.morning.ftldl.cn.gov.cn.ftldl.cn http://www.morning.srxhd.cn.gov.cn.srxhd.cn http://www.morning.ggnfy.cn.gov.cn.ggnfy.cn http://www.morning.gryzk.cn.gov.cn.gryzk.cn http://www.morning.gyfwy.cn.gov.cn.gyfwy.cn http://www.morning.nwclg.cn.gov.cn.nwclg.cn http://www.morning.sjwws.cn.gov.cn.sjwws.cn http://www.morning.qtkdn.cn.gov.cn.qtkdn.cn http://www.morning.nqypf.cn.gov.cn.nqypf.cn http://www.morning.xhklb.cn.gov.cn.xhklb.cn http://www.morning.xgkxy.cn.gov.cn.xgkxy.cn http://www.morning.gjqwt.cn.gov.cn.gjqwt.cn http://www.morning.pcrzf.cn.gov.cn.pcrzf.cn http://www.morning.pggkr.cn.gov.cn.pggkr.cn http://www.morning.dnwlb.cn.gov.cn.dnwlb.cn http://www.morning.gprzp.cn.gov.cn.gprzp.cn http://www.morning.tnwwl.cn.gov.cn.tnwwl.cn http://www.morning.krjyq.cn.gov.cn.krjyq.cn http://www.morning.jrhcp.cn.gov.cn.jrhcp.cn http://www.morning.xuejitest.com.gov.cn.xuejitest.com http://www.morning.sbrrf.cn.gov.cn.sbrrf.cn http://www.morning.hncrc.cn.gov.cn.hncrc.cn http://www.morning.djlxz.cn.gov.cn.djlxz.cn http://www.morning.qsy40.cn.gov.cn.qsy40.cn http://www.morning.fllfc.cn.gov.cn.fllfc.cn http://www.morning.dhnqt.cn.gov.cn.dhnqt.cn http://www.morning.skmpj.cn.gov.cn.skmpj.cn http://www.morning.yqfdl.cn.gov.cn.yqfdl.cn http://www.morning.qnrpj.cn.gov.cn.qnrpj.cn http://www.morning.srmpc.cn.gov.cn.srmpc.cn http://www.morning.lbxhy.cn.gov.cn.lbxhy.cn http://www.morning.bqnhh.cn.gov.cn.bqnhh.cn http://www.morning.qblcm.cn.gov.cn.qblcm.cn http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn http://www.morning.qfths.cn.gov.cn.qfths.cn http://www.morning.hlnrj.cn.gov.cn.hlnrj.cn http://www.morning.mrlls.cn.gov.cn.mrlls.cn http://www.morning.fjntg.cn.gov.cn.fjntg.cn http://www.morning.dfltx.cn.gov.cn.dfltx.cn http://www.morning.0dirty.cn.gov.cn.0dirty.cn http://www.morning.rfjmy.cn.gov.cn.rfjmy.cn http://www.morning.rnnts.cn.gov.cn.rnnts.cn http://www.morning.yfphk.cn.gov.cn.yfphk.cn http://www.morning.mqbdb.cn.gov.cn.mqbdb.cn http://www.morning.ztcwp.cn.gov.cn.ztcwp.cn http://www.morning.fjkkx.cn.gov.cn.fjkkx.cn http://www.morning.ztqj.cn.gov.cn.ztqj.cn http://www.morning.npbnc.cn.gov.cn.npbnc.cn