当前位置: 首页 > news >正文

外留网站建设小甲虫抖音代运营

外留网站建设,小甲虫抖音代运营,帝国备份王wordpress,网站手机版怎么制作Python 实现 websocket 服务很简单,有很多的三方包可以用,我从网上大概找到三种常用的包:websocket、websockets、Flask-Sockets。 但这些包很多都“年久失修”, 比如 websocket 在 2010 年就不维护了。 而 Flask-Sockets 也在 2…

Python 实现 websocket 服务很简单,有很多的三方包可以用,我从网上大概找到三种常用的包:websocketwebsocketsFlask-Sockets

但这些包很多都“年久失修”, 比如 websocket2010 年就不维护了。

在这里插入图片描述

Flask-Sockets 也在 2016 年停止维护。

在这里插入图片描述

这也给我们提了一个醒,用三方包的时候一定要看下这个包是否还在持续维护,如果作者已经停止了维护,那就坚决不要再用了,因为过不了多久你就会吃个大亏的。

websockets

排除了两个已经不维护的包,现在只剩下一个 websockets 了,那么这个包会满足我们的需求吗?

首先看了下 websockets,发现社区最近还在维护,而且 websockets 还有完整的源码和使用教程,对新手非常友好。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

源码和教程地址:
https://pypi.org/project/websockets/
https://github.com/python-websockets/websockets
https://websockets.readthedocs.io/en/stable/intro/tutorial1.html

示例:

service.py

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-import asyncio
import websocketsasync def hello(websocket):recv_data = await websocket.recv()print('<<< %s' % recv_data)send_data = 'Hello %s' % recv_dataawait websocket.send(send_data)print('>>> %s' % send_data)async def start():print('Server started ...')async with websockets.serve(hello, '0.0.0.0', 8765):await asyncio.Future()if __name__ == '__main__':asyncio.run(start())

client.py

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-import asyncio
import websocketsasync def hello():uri = 'ws://0.0.0.0:8765'async with websockets.connect(uri) as websocket:send_data = input("What's your name: ")await websocket.send(send_data)print('>>> %s' % send_data)recv_data = await websocket.recv()print('<<< %s' % recv_data)if __name__ == '__main__':asyncio.run(hello())

这样就是个简单的 WebSocket 服务器/客户端程序了,也是 WebSocket 中最核心的东西了。

运行结果:

在这里插入图片描述

在这里插入图片描述

但是这样有一个问题,服务器在收到一条消息之后就关闭连接,如果想实现持久连接就需要用到循环来处理了。

async with websockets.connect(uri) as websocket:for i in range(10):send_data = input("What's your name: ")...

如果用到异步需要加上 async

async def handler(websocket):async for message in websocket:print(message)

有时候可能还会出现一次只能有一个客户端连接的问题,一般来说,这是程序中时间的调用没有使用异步导致。

例如,此连接处理程序可阻止事件循环在一秒钟内运行:

async def handler(websocket):time.sleep(1)...

将其更改为:

async def handler(websocket):await asyncio.sleep(1)...

如何开启多进程?

如果想开启多进程,可以用 Python 自带的包实现,先导入进程池模块,然后启动所有进程,多进程用法参考 Python3 多进程编程 这篇文章。

from multiprocessing import Pool...def main():asyncio.run(start())if __name__ == '__main__':p = Pool(30)for i in range(10):p.apply_async(main)p.close()p.join()...

更多技巧和常见问题请参考:https://websockets.readthedocs.io/en/stable/faq/server.html

http://www.yayakq.cn/news/270974/

相关文章:

  • 怎样做企业营销网站专门做考研的网站
  • 公司网站建设基本流程图500云网站
  • 牛商网营销型网站建设wordpress togetherjs
  • 网站建设低价网站到底便宜在哪网站开发的软件工程师叫什么
  • 北京做网站的人wordpress php那个版本
  • 现在建网站多少钱友链交换网站
  • 网站开始怎么做网站多个域名备案
  • 福州网站设计哪里比较好租网站空间
  • 小型电商网站模板爱站网是怎么回事
  • 做公司网站大概多少钱平面设计软件coreldraw
  • 石家庄网站建设外贸教育网站颜色
  • 东莞市官网网站建设价格最近在线观看免费大全电视剧
  • 品牌网站建设创意新颖如何在WordPress主题中加载幻灯片
  • 遵义市做网站的地方郑州工程设计公司官网
  • 网站数据库连接出错而的跟地seo排名点击软件
  • 一个人可以做几个网站切实加强门户网站建设
  • 安陆做网站多少钱娄底市建设局网站
  • 长春好的做网站公司排名wordpress系统选择
  • CMS网站建设优势搭建一个小程序需要什么
  • 导航网站怎么做seo邯郸网络教研中心
  • 目前网站开发技术drupal个人门户网站开发
  • 厦门同安网站制作企业wordpress蜘蛛爬虫记录
  • 易语言可以做网站管理系统吗网站备案接入商变更
  • 钱宝网站怎么做任务新手怎么做网络销售
  • 基础微网站开发代理seo推广优势
  • 公网带宽1m能建设电商网站吗icp备案网站接入信息ip地址段怎么填
  • 电子商务与网站建设论文百度网盟推广案例
  • 深圳市建设工程交易服务网站营销推广ppt模板
  • 长沙优化网站多少钱wordpress主题乱
  • 西安网站建设方案canonical wordpress