sockets - 通过文件描述符构造套接字对象

标签 sockets d file-descriptor dmd unix-socket

我有一个文件描述符(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/

相关文章:

data-structures - 为什么D缺少容器类?

c# - 当通过网络接收的数据更改属性时,如何将控件绑定(bind)到属性更改?

php - 网络游戏如何将玩家联系在一起?

D: 使用委托(delegate)和 EnumMembers 时的意外输出

linux - 如何重定向进程文件写入的输出?

c - 如何确定文件描述符是否可搜索?

c++ - linux下如何正确清除文件

Java TCP/IP 服务器不正确地关闭连接

c++ - Boost.asio 端点是否可以用于识别 UDP 连接的客户端?

java - 继承 : Evaluating In Derived Class's Scope?