我在Ubuntu上使用pythonwebsockets4.0.1。我想有2个websocket服务器运行。我可以通过为每个线程创建2个线程和独立的事件循环来实现这一点。我所说的“某种工作”是指两个websockets都工作,并且响应大约30秒,然后其中一个停止。我必须重新启动程序让他们两个都重新工作。如果我只运行这两个线程中的一个,那么单个websocket将永远工作。

我做错了什么?如何让2个websockets永远与asyncio一起工作?谢谢。# Start VL WebSocket Task

class vlWebSocketTask (threading.Thread):

def __init__(self):

threading.Thread.__init__(self)

def run(self):

# Main while loops

loop = asyncio.new_event_loop()

asyncio.set_event_loop(loop)

while True:

try:

print("Starting VL WebSocket Server...")

startVLServer = websockets.serve(vlWebsocketServer, '192.168.1.3', 8777)

asyncio.get_event_loop().run_until_complete(startVLServer)

asyncio.get_event_loop().run_forever()

except Exception as ex:

print(ex)

time.sleep(5)

# Start IR WebSocket Task

class irWebSocketTask (threading.Thread):

def __init__(self):

threading.Thread.__init__(self)

def run(self):

loop = asyncio.new_event_loop()

asyncio.set_event_loop(loop)

while True:

try:

print("Starting IR WebSocket Server...")

startIRServer = websockets.serve(irWebsocketServer, '192.168.1.3', 8555)

asyncio.get_event_loop().run_until_complete(startIRServer)

asyncio.get_event_loop().run_forever()

except Exception as ex:

print(ex)

time.sleep(5)

# Initialize VL WebSocket Task

#VLWebSocketTask = vlWebSocketTask()

#VLWebSocketTask.start()

# Initialize IR WebSocket Task

IRWebSocketTask = irWebSocketTask()

IRWebSocketTask.start()

python websocket异步高并发_Python3.5异步和多个websocket服务器相关推荐

  1. python3.6 websocket异步高并发_Python3.6 websocket开发

    message_queues ={} client_socket_fd_map={}defstart_socket_select_server(): sock=socket.socket(socket ...

  2. python3.6 websocket异步高并发_在Python3.6上的websocket客户端中侦听传入消息时出现问题...

    我正在尝试使用websockets包在Python上构建一个websockets客户端:Websockets 4.0 API 我使用这种方式而不是示例代码,因为我想创建一个websocket客户机类对 ...

  3. netty框架实现websocket达到高并发

    websocket(三) 进阶!netty框架实现websocket达到高并发 引言: 在前面两篇文章中,我们对原生websocket进行了了解,且用demo来简单的讲解了其用法.但是在实际项目中,那 ...

  4. python go高并发_天下武功为快不破,戏说Python与Go高并发争锋!

    在这个以斗气大陆横行的世界,每一个大的势力宗门都有自己的杀手锏的功法,比如老牌的古族有C++这样的巨无霸语言,药族有C语言,几乎斗气大陆所有的操作系统都是用C语言做的,毕竟斗气都要靠吃丹药维持.而实力 ...

  5. 天下武功为快不破,戏说Python与Go高并发争锋!

    在这个以斗气大陆横行的世界,每一个大的势力宗门都有自己的杀手锏的功法,比如老牌的古族有C++这样的巨无霸语言,药族有C语言,几乎斗气大陆所有的操作系统都是用C语言做的,毕竟斗气都要靠吃丹药维持.而实力 ...

  6. 高并发大流量专题---6、独立图片服务器的部署

    高并发大流量专题---6.独立图片服务器的部署 一.总结 一句话总结: 独立图片服务器还是非常有必要的,可以很大程度的降低主服务器的io以及提升用户访问速度 1.独立图片服务器 独立的必要性? 分担W ...

  7. python异步高并发_通过python异步通讯方式构建高并发压力测试工具

    背景说明 在工作中,要对一个接口进行压测,我当时就想通过python自己编写一个压力发生器. 初步方案(单线程循环发送) 通过循环向服务端发送请求,代码如下: #采用单步循环的方式循环测试 impor ...

  8. java 异步_聊聊java高并发系统之异步非阻塞

    作者:孙伟,目前负责京东商品详情页统一服务系统,写过java,写过ngx_lua,还写过storm等,喜欢学习研究新事物. 在做电商系统时,流量入口如首页.活动页.商品详情页等系统承载了网站的大部分流 ...

  9. Python Tornado搭建高并发Restful API接口服务

    Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快能实现高并发.得利于其 非阻塞的方式和对epoll的运用,Torn ...

最新文章

  1. Nginx防盗链,Nginx访问控制, Nginx解析php相关配置, Nginx代理
  2. 安装Vertica数据库
  3. docker-compose up volumes 调用外部文件,权限问题 cannot open directory xxxxx .: Permission denied
  4. java构造函数使用方法总结
  5. xp装linux一键安装教程图解,XP下硬盘安装CentOS 6.0图解教程
  6. centos忘记root用户的密码
  7. WPF Grid动态显示或隐藏一列的一种方法
  8. sqlserver如何定义一个静态变量_[Bazel]自定义规则实现将多个静态库合并为一个动态库或静态库...
  9. python virtualenv_python开发之virtualenv与virtualenvwrapper讲解
  10. 谷歌聊天机器人api_如何编写针对Google地图等网络应用量身定制的聊天机器人
  11. linux与pc机网络通信,PC宿主机和目标机通信方式
  12. 微信小程序的零食商城
  13. python 滚动字幕_Python pygame绘制文字制作滚动文字过程解析
  14. JavaScript判断office的版本
  15. bzoj 1623: [Usaco2008 Open]Cow Cars 奶牛飞车(贪心)
  16. STM32标准库驱动蜂鸣器
  17. android获取手机号ip地址,手机ip查询我的地址定位(网站如何抓取用户手机号和IP地址)...
  18. php 下载 迅雷下载地址,PHP 生成下载地址,比如迅雷下载
  19. 【Chrome扩展程序】解决“只能通过Chrome网上应用商店安装该程序”的方法
  20. linux版vmware无法导入ovf,vmware 虚拟机导入OVF出现路径错误

热门文章

  1. 最新视觉Transformer综述(2017-2020年)
  2. JupyterLab 3.0发布!
  3. 学 Python 必看书单汇总
  4. 骚操作 !用 Python 偷偷抓取女朋友的行踪(女朋友在哪里)
  5. Python与redis集群进行交互操作
  6. MySQL数据库分页查询limit
  7. 基于视觉的数学公式识别算法介绍
  8. 你了解如何用GAN做语义分割吗
  9. 理解Meta Learning 元学习,这篇文章就够了!
  10. 数字图像基本处理算法小结