【socketioxide和axum集成-实现websocket实时通信-Rust点滴】

socketioxide的axum集成

启动socketio依靠examle里的layer

使用可变State依靠axum里的example

使用了,Arc,这个synce机制,有加锁的办法.

提取client,IP

为了了解每个客户的在线状态,需要提取其IP.作为一个身份标识.

一类是tcp,socket对方地址

在建立服务时获得引用,依靠HTTPExtension,这是原始tcp套接字的获取,不适应docket容器,非HOST模式,和反向代理的复杂情况...

一类是SocketRef里socket.re_ref.

在代理模式下

在handle里的缺省参数,socketRef的函数req_ref(),提取到请求信息其中的request.headers,会有反向代理补充的x-forward-ip,可以在调试后确定下来.

axum的get,or,post请求处理中使用socketRef

在连接建立时,把socketRef.clone()存入,共享State.然后在get,orpost的axum route handle获取并使用.

主要用于通过url发送广播消息, 不同服务器间的消息传递.

flask--> rust,socketio->socketio client.

因为要完成flask的socketio的解耦.目前只想到了这个办法.

相关推荐
以太浮标1 天前
华为eNSP模拟器综合实验之- ACL控制列表核心命令全解析及场景应用
运维·网络·网络协议·华为·信息与通信
yosh'joy!!1 天前
IT/OT接口规范
网络协议·接口·modbus tcp·modbus rtu
AI+程序员在路上1 天前
CANopen 协议:介绍、调试命令与应用
linux·c语言·开发语言·网络
江畔何人初1 天前
kube-apiserver、kube-proxy、Calico 关系
运维·服务器·网络·云原生·kubernetes
网安Ruler1 天前
UDS 协议分析及模拟测试
网络
weiwx831 天前
Nginx location 和 proxy_pass 配置详解
服务器·网络·nginx
带娃的IT创业者1 天前
WeClaw 日志分析实战:如何从海量日志中快速定位根因?
运维·python·websocket·jenkins·fastapi·架构设计·实时通信
互成1 天前
加密系统哪款最好用?2026年五款加密系统深度对比测评
运维·网络·安全
mftang1 天前
WebSocket 通信协议详细解析
网络·websocket·网络协议
野指针YZZ1 天前
TCP包 wireshark抓包分析-RK3588
网络·tcp/ip·wireshark