[英]Getting client IP address in websocket library
我正在使用Network.WebSocket
庫。 我嘗試了WS.requestHeaders . WS.pendingRequest
PendingConnection
上的WS.requestHeaders . WS.pendingRequest
以獲取連接請求信息。 但是,似乎它沒有客戶端IP信息,只有Host
密鑰中的服務器IP信息。 下面的示例輸出:
[("Upgrade","websocket"),("Sec-WebSocket-Extensions","permessage-deflate;
client_max_window_bits"),("Sec-WebSocket-Key","<taken out for SO post>"),
("Connection","Upgrade"),("Sec-WebSocket-Version","13"),("Host","localhost:8080")]
在運行Network.Websocket
時,一種獲取“客戶端IP”信息的好方法(我正在使用runWebSocketsSnap
在Snap
monad中運行該runWebSocketsSnap
)。 如果發生錯誤,我想記錄下來。
runWebSocketsSnap
只是一個常規的Snap
應用程序,因此您可以使用rqRemoteAddr
來獲取遠程IP地址:
do
addr <- getsRequest rqRemoteAddr
runWebSocketsSnap $ \pending -> ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.