我正在尝试使用此代码从套接字中提取端口号
import Network.Socket
let hints = defaultHints { addrSocketType = Stream }
addr:_ <- getAddrInfo (Just hints) (Just "127.0.0.1") (Just "3000")
sock <- socket (addrFamily addr) (addrSocketType addr) (addrProtocol addr)
socketPort sock
但是socketPort sock
总是返回0,为什么它返回0?
答案 0 :(得分:2)
您似乎跳过了一步(将套接字绑定到地址):
bind sock (addrAddress addr)
未绑定套接字返回0.0.0.0:0
,这就是0
socketPort sock
的原因