bitcoin
bitcoin

$64289.441012 USD

-4.30%

ethereum
ethereum

$1790.079831 USD

-5.61%

tether
tether

$0.999340 USD

0.03%

bnb
bnb

$589.806756 USD

-4.33%

usd-coin
usd-coin

$0.999720 USD

-0.01%

xrp
xrp

$0.954925 USD

-3.07%

solana
solana

$70.338246 USD

-6.67%

tron
tron

$0.307198 USD

-1.65%

hyperliquid
hyperliquid

$65.416106 USD

-5.80%

zcash
zcash

$899.101757 USD

-1.32%

monero
monero

$491.132124 USD

-7.27%

dogecoin
dogecoin

$0.057920 USD

-7.54%

unus-sed-leo
unus-sed-leo

$9.119156 USD

-1.59%

chainlink
chainlink

$9.107922 USD

-4.95%

cardano
cardano

$0.150722 USD

-7.52%

加密货币视频

FastAPI WebSockets 第 2 部分:聊天室、JWT 身份验证、令牌过期和测试 |第47章

2026/11/13 13:30 Nilesh Technology

任何人都可以成为任何人的大型聊天并不是真正的应用程序。在 FastAPI 完整教程(初学者 → 部署)的第 47 课中,我们在一个全新的小型项目中逐步构建聊天室(每个课程一个房间)并通过 WebSocket 进行身份验证。 RoomManager 逐行:房间字典、使用 setdefault 加入、离开(空房间消失)、成员以及仅到达一个房间的广播。然后是身份验证问题:浏览器 WebSocket 无法发送授权标头 - 因此令牌进入查询字符串 (?token=…),我们将其与 cookie 和第一条消息令牌进行比较。 WebSocket 依赖项在接受之前验证 JWT 并引发 WebSocketException(1008) – 真实客户端看到 HTTP 403,TestClient 看到代码 1008 和原因。房间仅适用于注册用户(身份验证与授权),当令牌过期时会自行关闭的连接(带有超时的 asyncio.wait_for),最后进行清理,以及一位老师通过正常的 HTTP 请求向一个房间宣布。针对真实 uvicorn 服务器的两个演示,以及 11 项测试 - 包括如何证明消息未到达房间。 💻 该视频的代码:https://github.com/nileshborate/fastapi/tree/main/47-websockets-rooms 📂 完整课程代码:https://github.com/nileshborate/fastapi ▶️ 完整播放列表:https://www.youtube.com/playlist?list=PLBjgbZvHwQmg 🌐 网站:https://www.nileshtechnology.in ⏱️章节 0:00 简介 0:05 作业答案(视频 46):私人消息 + 不能有两个 Ashas 1:54 从一间教室到真实房间 2:39 今天的计划 3:13 从哪里获取代码 (GitHub) 3:49 项目:内存中的用户 5:03 RoomManager:广播到一个房间 6:32 通过 WebSockets 进行身份验证:无授权标头 7:45 ws_session依赖性(接受之前) 9:38 房间端点:仅注册用户 10:50 令牌过期时关闭连接 12:26 最后:在每种情况下都离开房间 13:03 成员 + 教师通过 HTTP 发布公告 13:59 身份验证演示:403、101 和令牌过期 15:10 房间演示:消息留在房间中 16:26 测试:通过 WebSocket 进行身份验证17:51 测试:房间(证明消息未到达) 18:53 生产前 19:37 3 个常见错误 20:17 面试问题 21:25 回顾、作业和下一步 📝 作业 1. 历史:新成员加入后立即获取房间的最后 20 条消息(每个房间 deque(maxlen=20)) 2. 删除/rooms/{room}/members/{username}(仅限教师)关闭该用户在房间中的所有连接,代码为 1008,原因为“被教师删除” 3. 两者测试 答案在下一个视频中! 🎯 本视频中的采访问题 • 如何在 FastAPI 中验证 WebSocket? • 如何建立聊天室? • 当JWT 在打开的WebSocket 期间过期时会发生什么? ⏭️ 下一个视频:异步深入探究 – def 与异步 def、事件循环、线程池、阻塞调用和 run_in_threadpool 👍 喜欢,订阅 Nilesh Technology 并按铃观看下一课! #FastAPI #Python #WebSockets #JWT #RealTime #FastAPITutorial #BackendDevelopment #PythonTutorial #NileshTechnology
视频来源:Youtube

免责声明:info@kdj.com

所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!

如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。

2026年11月16日 发表的其他视频