我有一个文件描述符(0/stdin),我想在D中构造一个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(),所以我不确定使其真正有用...
关于sockets - 通过文件描述符构造套接字对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19605858/