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

相关推荐
Kika写代码2 小时前
【计算机网络】课程 实验三 跨交换机实现 VLAN 间路由
网络·计算机网络·php
计算鸡SayHelloWorld2 小时前
计算机网络(第8版)第3章课后习题--透明传输
网络
MorleyOlsen6 小时前
【计算机网络安全】CA和安全电子邮件
网络·安全·web安全·ca
xianwu5437 小时前
mysql入门篇
开发语言·网络·c++·git
网络安全成叔8 小时前
【整理集合大全】MySQL(4) 数据库增删改查SQL语句
网络·数据库·sql·mysql·web安全·网络安全
无名之逆8 小时前
搭建SSL邮件服务器
开发语言·网络·网络协议·http·https·ssl·request
Libby博仙9 小时前
.net core三种依赖注入方式,原生的依赖注入器,scrutor,autofac
网络协议·rpc·.netcore
JermeryBesian10 小时前
Flink系列知识讲解之:深入了解 Flink 的网络协议栈
大数据·网络协议·flink
dog25010 小时前
TCP 演进之路:软硬件跷跷板与新征程
网络·网络协议·tcp/ip
高校网站建设群系统EduCMS11 小时前
定制级安全重保方案,确保重大活动期间的网络安全无忧
网络·安全