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

相关推荐
小疆智控15 分钟前
工业跨网通讯实践EtherCAT转TCPIP网关关键技术
网络·网络协议
和煦的糖果15 分钟前
项目1: TurtleBot3 自主导航的第一阶段学习
网络
fhqlongteng1 小时前
TCP服务器断开客户端的方法
服务器·网络·tcp/ip
啦啦啦啦啦zzzz1 小时前
5种IO模型
运维·服务器·网络·c++
打妖妖灵滴哪吒1 小时前
OSI七层网络参考模型(图文版)
网络
CodeJourney_J2 小时前
网络安全简述-加密技术
网络·安全·密码学
xiaoxiangsiyan2 小时前
企业网络运维自动化与管理协议深度指南
linux·运维·服务器·网络·学习·自动化
乱七八糟的屋子2 小时前
libnice 超完整使用教程|C语言ICE/P2P公网穿透入门到高阶实战
网络协议·内网穿透·p2p·libnice·ice协议·stun/turn·webrtc底层
zhao3266857512 小时前
除了网页浏览,HTTP和HTTPS代理还能干啥?适用场景有哪些
网络协议·http·https
长江&后浪3 小时前
华为M-LAG配置小实验
网络