変換を行わずに、接続されたソケットから直接uintを読み取るにはどうすればよいですか。
事実上、Dは。に相当しread(sock, &four_byte_var, 4)ます。uintD標準ライブラリsocket.receive(void[])が受け入れるものに変換できないようです。
変換を行わずに、接続されたソケットから直接uintを読み取るにはどうすればよいですか。
事実上、Dは。に相当しread(sock, &four_byte_var, 4)ます。uintD標準ライブラリsocket.receive(void[])が受け入れるものに変換できないようです。
変数を囲むスライスを渡す必要があります。
uint n;
socket.receive((&n)[0..1]);
このアプローチはエンディアンに敏感であることに注意してください。
それは非常に簡単std.socketstreamです:
auto stream = new SocketStream(socket);
uint foo;
stream.read(foo);
注:std.streamモジュールとモジュールはstd.socketstream新しいインターフェースに置き換えられます(まあ、それは時間がかかるかもしれません)。