Gnat Socketsパッケージを使用しています。次のように作成および初期化されたサーバー側ソケットがあります。
GNAT.Sockets.Create_Socket(...);
...
GNAT.Sockets.Set_Socket_Option
(Socket => Server,
Option => (Name => GNAT.Sockets.Receive_Timeout,
Timeout => Listner_Timeout));
...
GNAT.Sockets.Listen_Socket(...);
GNAT.Sockets.Accept_Socket(...);
すべて順調ですが、使用するときは:
GNAT.Sockets.Receive_Socket(...);
ソケットがタイムアウトしたかどうかを検出する方法、またはソケットが戻ったときにデータを読み取る方法がわかりません。メソッドを使用する必要がありますかCheck_Selector
(この使用には少し重いようです。その場合、これは呼び出しで設定されたタイムアウトと相互作用しSet_Socket_Option
ます)?
ありがとう、