簡體   English   中英

在websocket庫中獲取客戶端IP地址

[英]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”信息的好方法(我正在使用runWebSocketsSnapSnap monad中運行該runWebSocketsSnap )。 如果發生錯誤,我想記錄下來。

runWebSocketsSnap只是一個常規的Snap應用程序,因此您可以使用rqRemoteAddr來獲取遠程IP地址:

do
  addr <- getsRequest rqRemoteAddr
  runWebSocketsSnap $ \pending -> ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM