我正在尝试在websocket应用程序中基于IP地址实现速率限制,但是我不知道如何将IP地址作为字符串获取。我一直在搜索文档,却没有提到IP地址。
我有一个addr: Recipient<WSMessage>
和一个上下文。
到目前为止,我已经尝试过ctx.address()
-无法转换为字符串
msg.addr.tx.0
-无法取消对密友的私密装箱。
答案 0 :(得分:1)
想通了:
fn chat_route(req: &HttpRequest<WsChatSessionState>) -> Result<HttpResponse, Error> {
ws::start(
req,
WSSession {
id: 0,
hb: Instant::now(),
ip: req.connection_info().remote().to_string(),
},
)
}