【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的解耦.目前只想到了这个办法.

相关推荐
yqcoder11 分钟前
HTTP 进化论:从“单车道土路”到“磁悬浮列车”
网络·网络协议·http
ch3nyuyu11 分钟前
网络编程拟面试题
linux·网络
发光小北14 分钟前
Profinet 转 Profibus DP 主站网关如何应用?
网络协议
techdashen25 分钟前
Async Rust 近况补课:从 `async-trait` 到原生 async trait
网络·算法·rust
Yang961129 分钟前
DXGF-101A:打造稳定可靠的交通通信网络
网络·信息与通信
跨境牛马哥42 分钟前
2026爬虫开发:Playwright对决Puppeteer
大数据·网络·网络协议
Brookty43 分钟前
协议分层传输、TCP报头与TCP三次握手介绍
网络·tcp
HMS工业网络44 分钟前
使用电脑快速测试DeviceNet设备通讯
网络协议·通讯协议·devicenet·设备通讯
ze^01 小时前
Day04 Web应用&蜜罐系统&堡垒机运维&API内外接口&第三方拓展架构&部署影响
网络·安全·web安全·安全架构
鹏大师运维1 小时前
不用装远程桌面!统信UOS通过SSH直接调用麒麟图形界面程序
linux·运维·网络·ssh·麒麟·x11·统信v25