我正在尝试在WebSocket应用程序中基于IP地址实现速率限制者,但是我不知道如何将IP地址作为字符串获取。我一直在搜寻文档,没有提及IP地址。
我有一个addr: Recipient<WSMessage>
和一个上下文。
到目前为止,我尝试了ctx.address()
-无法转换为字符串 msg.addr.tx.0
-不能启用私人。
弄清楚了:
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(),
},
)
}