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

相关推荐
zzz.101 小时前
Calico 网络插件在 K8s 集群的作用
网络·云原生·kubernetes
运维行者_1 小时前
OpManager 与 iOS 26:开启 IT 运维新时代
运维·网络·网络协议·网络安全·ios·iphone·告警
云境天合知识分享1 小时前
能见度监测站的优点是什么
网络
筱砚.1 小时前
【数据结构——十字链表】
网络·数据结构·链表
Yvonne爱编码1 小时前
机器人的“神经网络”:以太网技术如何重塑机器人内部通信?【技术类】
网络·机器人
自我陶醉@2 小时前
计算机网络---传输层
网络·计算机网络·考研·学习方法·408
三毛20042 小时前
玳瑁的嵌入式日记---0928(ARM--UART)
网络·arm开发
ikgade2 小时前
ArcGIS Manager Server Add Host页面报错 HTTP Status 500
网络协议·http·arcgis
比特森林探险记2 小时前
Golang GMP 模型深度解析
网络·算法·golang
_清浅2 小时前
计算机网络【第二章-物理层】
服务器·网络·计算机网络