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

相关推荐
لا معنى له2 小时前
残差网络论文学习笔记:Deep Residual Learning for Image Recognition全文翻译
网络·人工智能·笔记·深度学习·学习·机器学习
爬山算法3 小时前
Redis(153)Redis的网络使用如何监控?
网络·redis·bootstrap
极地星光3 小时前
C++链式调用设计:打造优雅流式API
服务器·网络·c++
橘子真甜~4 小时前
C/C++ Linux网络编程8 - epoll + ET Reactor TCP服务器
linux·服务器·网络
贝塔实验室4 小时前
红外编解码彻底解析
网络·嵌入式硬件·信息与通信·信号处理·代码规范·基带工程·精益工程
就叫飞六吧4 小时前
“电子公章”:U盾(U-Key)实现身份认证、财务支付思路
网络·笔记
悠悠121385 小时前
NLB WebSocket 连接问题排查与解决方案
websocket·网络协议·php
wanderist.5 小时前
Linux使用经验——离线运行python脚本
linux·网络·python
4***17545 小时前
Spring Boot整合WebSocket
spring boot·后端·websocket
biter00886 小时前
Ubuntu 22.04 有线网络时好时坏?最终解决方案
linux·网络·ubuntu