D-从套接字读取4字节大小

D-从套接字读取4字节大小,d,D,如何从连接的套接字直接读取uint而无需进行任何转换 实际上,D与readsock的等价性是什么&四字节变量,4。我似乎无法将uint转换为D标准库套接字.receivevoid[]可以接受的任何内容。使用以下工具非常简单: 注意:std.stream和std.socketstream模块将被一个新的接口替换,这可能需要一段时间。使用以下接口非常简单: 注意:std.stream和std.socketstream模块将被一个新的接口替换,这可能需要一段时间。您需要传递一个围绕变量的切片: uin

如何从连接的套接字直接读取uint而无需进行任何转换

实际上,D与readsock的等价性是什么&四字节变量,4。我似乎无法将uint转换为D标准库套接字.receivevoid[]可以接受的任何内容。

使用以下工具非常简单:

注意:std.stream和std.socketstream模块将被一个新的接口替换,这可能需要一段时间。

使用以下接口非常简单:


注意:std.stream和std.socketstream模块将被一个新的接口替换,这可能需要一段时间。

您需要传递一个围绕变量的切片:

uint n;
socket.receive((&n)[0..1]);

请注意,这种方法是endian敏感的。

您需要传递一个围绕变量的切片:

uint n;
socket.receive((&n)[0..1]);

请注意,这种方法是endian敏感的。

我是D新手,ptrvar[0..1]给出了什么?一个指向长度为1的变量的动态数组,不进行重新分配。D动态数组由长度和指向数组数据的指针组成。我是D新手,ptrvar[0..1]给出了什么?一个指向长度为1的变量的动态数组,没有进行重新分配。D动态数组由长度和指向数组数据的指针组成。socketstream文档顶部的巨大可怕的全红色警告把我吓跑了。这个警告是一个糟糕的笑话,std.stream和std.socketstream工作得非常好,据我所知,甚至看不到替代品。我想如果我们得到一个替代品,我仍然会使用这两个流模块,因为我害怕新的基于范围的std.stream。尽管std.stream非常糟糕。在一台机器上写入的数据将无法在具有不同endianness甚至指针大小的机器上正确读取,因此程序的x32和x64版本已经不兼容。如果你试图混合阅读文本和二进制数据,你会有一个糟糕的时间。socketstream文档顶部的巨大可怕的全红色警告吓跑了我。这个警告是一个糟糕的笑话,std.stream和std.socketstream工作得非常好,据我所知,甚至看不到替代品。我想如果我们得到一个替代品,我仍然会使用这两个流模块,因为我害怕新的基于范围的std.stream。尽管std.stream非常糟糕。在一台机器上写入的数据将无法在具有不同endianness甚至指针大小的机器上正确读取,因此程序的x32和x64版本已经不兼容。如果你试图混合阅读文本和二进制数据,你会有一个糟糕的时间。