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

相关推荐
laoli_coding6 小时前
如何配置HTTPS站点访问的免费SSL域名证书
网络协议·https·node.js·ssl
IpdataCloud8 小时前
担心IP暴露隐私?用安全IP查询工具自查,三步配置网络出口
网络·tcp/ip·安全·ip
xy34538 小时前
wireshark 如何捕获信息
网络·测试工具·渗透测试·wireshark
玖玥拾10 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
一个有温度的技术博主11 小时前
【VulnHub 实战】DC-1 靶机渗透测试笔记(一):信息收集与主机发现
服务器·网络·笔记
白帽小阳12 小时前
2026前端面试题!(附答案及解析)
javascript·网络·python·安全·web安全·网络安全·护网行动
hehelm13 小时前
Linux网络编程—TCP字典翻译系统
linux·开发语言·网络·c++·tcp/ip
持力行14 小时前
D-BUS会话总线
运维·网络
pt104314 小时前
思科网络自动化-API常用数据编码格式(JSON/XML/YAML)课程与实践
linux·服务器·网络
糖果店的幽灵14 小时前
安全测试从入门到精通_网络基础与HTTPS
网络·https·php