sockets - 如何从套接字中提取端口号?
问题描述
我正在尝试使用此代码从套接字中提取端口号
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 ?
解决方案
您似乎跳过了一步(将套接字绑定到地址):
bind sock (addrAddress addr)
未绑定的套接字返回0.0.0.0:0
,这就是为什么您总是收到0
以下结果socketPort sock
推荐阅读
- c# - 行分隔符 '\u2028' 使用 json.net 解析不正确
- sql - 如何在 SQL Server 上搜索对象 nvarchar 值的 ID
- javascript - javascript错误的重复循环
- ios - Uitableview单元格内的UItableview,内部uitableview不显示
- qt-creator - QtCreator doc中重叠的字母
- javascript - 如何在 Google Form 中为一个问题设置两个要求?
- angular - 在Angular 4中将API响应(对象)从组件解析到另一个组件
- dart - 如何在 Flutter 小部件测试中等待未来完成?
- java - 在java中获取ResultTable []的第一个元素
- c# - 选择的数据网格行显示错误“序列不包含匹配元素”