【发布时间】:2013-10-26 10:57:00
【问题描述】:
我有一个文件描述符 (0/stdin),我想在 D 中构造一个 Socket 对象。我该怎么做?似乎没有合适的构造函数。
【问题讨论】:
标签: sockets d file-descriptor dmd unix-socket
我有一个文件描述符 (0/stdin),我想在 D 中构造一个 Socket 对象。我该怎么做?似乎没有合适的构造函数。
【问题讨论】:
标签: sockets d file-descriptor dmd unix-socket
有一个标记为“使用现有套接字句柄”的构造函数,它接受一个 socket_t。您可以将 int 强制转换为 socket_t(socket_t 是 Unix 系统上基于 int 的枚举)。
// it requires an address family but i don't think it matters much
auto socket = new Socket(cast(socket_t) 0, AddressFamily.INET);
这将使您构建,尽管随后使用它会导致“非套接字上的套接字操作”错误,因为 D 的套接字调用 send() 和 recv() 而不是 write() 和 read(),所以我不知道如何让它真正有用......
【讨论】: