python应用websockets模块,范例代码出错

未狂 2020-02-14 04:51:58
导入了websockets模块,用https://pypi.org/project/websockets/主页上的客户端和服务端范例代码跑了一下

服务端

import asyncio
import websockets

async def echo(websocket, path):
async for message in websocket:
await websocket.send(message)

asyncio.get_event_loop().run_until_complete(
websockets.serve(echo, '192.168.0.100', 8765))
asyncio.get_event_loop().run_forever()


客户端

#!/usr/bin/env python

import asyncio
import websockets

async def hello(uri):
async with websockets.connect(uri) as websocket:
await websocket.send("Hello world!")
await websocket.recv()

asyncio.get_event_loop().run_until_complete(
hello('ws://192.168.0.100:8765'))



server和client都能正常运行
但是client一旦运行超server发送数据的时候,server就会报异常

异常信息:
Accept failed on a socket
socket: <asyncio.TransportSocket fd=424, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('192.168.0.100', 8765)>
Traceback (most recent call last):
File "D:\Python38\lib\asyncio\proactor_events.py", line 801, in loop
conn, addr = f.result()
File "D:\Python38\lib\asyncio\windows_events.py", line 808, in _poll
value = callback(transferred, key, ov)
File "D:\Python38\lib\asyncio\windows_events.py", line 557, in finish_accept
return conn, conn.getpeername()
OSError: [WinError 10014] 系统检测到在一个调用中尝试使用指针参数时的无效指针地址。
Task exception was never retrieved
future: <Task finished name='Task-3' coro=<IocpProactor.accept.<locals>.accept_coro() done, defined at D:\Python38\lib\asyncio\windows_events.py:559> exception=OSError(10014, '系统检测到在一个调用中尝试使用指针参数时的无效指针地址。', None, 10014, None)>
Traceback (most recent call last):
File "D:\Python38\lib\asyncio\windows_events.py", line 562, in accept_coro
await future
File "D:\Python38\lib\asyncio\proactor_events.py", line 801, in loop
conn, addr = f.result()
File "D:\Python38\lib\asyncio\windows_events.py", line 808, in _poll
value = callback(transferred, key, ov)
File "D:\Python38\lib\asyncio\windows_events.py", line 557, in finish_accept
return conn, conn.getpeername()
OSError: [WinError 10014] 系统检测到在一个调用中尝试使用指针参数时的无效指针地址。


求指教
...全文
518 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
未狂 2020-02-14
  • 打赏
  • 举报
回复
python版本是3.8最新版
源码下载地址: https://pan.quark.cn/s/860a2ecd6390 uapp.dev uapp 能做什么 uapp源自跨平台开发的最佳实践, 通过集成 uni-app, electron, tauri,让开发者仅需维护一套代码,就能横扫所有平台。 uapp支持所有的手机端(android, ios),支持所有的电脑端(windows, mac osx, linux),支持所有的小程序,浏览器插件等等。 uapp让Web开发者能搞更多事情,会H5就可以无限制重构一切软件。 [x] 开发微信小程序时,仅运行 ,就能生成小程序代码,并直接打开微信开发者工具加载。 [x] 开发APP离线基座,仅运行 ,就能生成自定义基座安装包,且自动发布到 hbx 工程下面直接使用。 [x] 可以查看包名, 签名 md5, dcloudkey, jwt 等开发中用到的各种信息。 多一个平台,就多了一个流量渠道,多一个平台,就多个用户选择的理由,而做这些事,仅需维护一套代码。 哪怕只开发一个平台,同样花时间写代码,为什么不选择复用价值更高的方法呢。 一、先安装 uappsdk 1、 安装 uapp 命令 2、下载 uniapp 离线打包的 SDK 注意和.uappsdk区分开,此处的uniapp离线包的SDK是指dcloud 官方发布的 android 离线打包SDK: ios 离线打包SDK: 解压其中的SDK目录,放入 .uappsdk 文件夹里,最终 .uappsdk 文件夹结构如下: SDK 相关文件都放在当前用户的 $HOME/.uappsdk 目录下。 需要引入哪些模块,请务必仔细阅读官方的 SDK 模块依赖说明,模块多了会影响APP审核,少了会影响功能使用。 ...
内容概要:本文系统介绍了基于Koopman理论识别机器人动力学中非线性系统的方法,并提供了完整的Matlab代码实现。该方法通过将复杂的非线性动力学系统映射到高维线性空间,利用数据驱动方式构建可解析的系统模型,有效解决了传统建模在强非线性场景下的局限性。文档不仅涵盖理论推导,还强调科研应兼具严谨逻辑与创新思维,倡导“借力”与“创新”相结合的研究范式。资源包内含多个相关科研方向的代码实例与案例分析,适用于系统建模、机器人控制、非线性系统辨识等领域的研究人员进行学习、复现与拓展。; 适合人群:具备控制系统、机器人动力学或非线性系统建模基础知识,正在从事相关领域科研工作的硕士、博士研究生及科研人员。; 使用场景及目标:①深入理解Koopman算子理论及其在非线性系统建模中的核心应用;②通过Matlab代码复现机器人动力学识别流程,提升系统辨识与仿真能力;③为开展数据驱动控制、智能建模、机器人学习等前沿研究提供方法支撑和技术积累。; 阅读建议:建议按照文档结构循序渐进阅读,重点结合理论讲解与代码实现部分进行对照学习,充分利用网盘提供的完整资源开展实践操作,以深化对Koopman方法在实际工程问题中应用的理解与掌握。

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧