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

相关推荐
Liuqy-0517 分钟前
IO模型与并发服务器
服务器·网络·select·多线程·epoll·并发服务器·io多路复用
小园子的小菜20 分钟前
Netty 核心组件 Channel、ChannelHandler 与简易 RPC 架构实战详解
网络协议·rpc·架构
梅孔立1 小时前
Docker 容器网络不通:Tomcat 无法解析 MySQL、Nginx 无法反代 Tomcat 的生产级排查与治理
网络·docker·tomcat
YWamy8 小时前
如何降低RTC SDK在复杂网络环境下的运行成本
网络·音视频·实时音视频
北京盛世宏博9 小时前
信创国产化智慧档案馆管库系统:十二防一体化管控平台落地笔记
网络·方案·温湿度·智慧档案馆建设
w-w0w-w9 小时前
SQL注入
网络·数据库·sql
一条泥憨鱼9 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
北京盛世宏博10 小时前
数字孪生 3D 可视化实战:档案十防体系温湿度数据联动与告警定位实现
网络·档案八防·十防
Lynne30911 小时前
EtherCAT网络中,多个节点如何配置才能互不干扰?
网络·网络配置·ethercat·工业网络