変換を行わずに、接続されたソケットから直接uintを読み取るにはどうすればよいですか。
事実上、Dは。に相当しread(sock, &four_byte_var, 4)
ます。uint
D標準ライブラリsocket.receive(void[])
が受け入れるものに変換できないようです。
変換を行わずに、接続されたソケットから直接uintを読み取るにはどうすればよいですか。
事実上、Dは。に相当しread(sock, &four_byte_var, 4)
ます。uint
D標準ライブラリ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
新しいインターフェースに置き換えられます(まあ、それは時間がかかるかもしれません)。