0

gwan で wake_up() を使用する方法を誰が教えてくれますか?

// tell G-WAN when to run a script again (for the same request)
// type: WK_MS | WK_FD
#define WK_MS 1  // milliseconds
#define WK_FD 2  // file descriptor
void wake_up(char *argv[], int delay_or_fd, int type);

sleep() を置き換えるために使用されますか?

4

1 に答える 1

1

これらの関数を使用した例を見てください - ただし、最後にテストしたときは機能しなかったことに注意してください (これはおそらく既に修正されているか、私の側の使用エラーであった可能性がありますが、それでも、それらを使用し、最初に例を試して動作するかどうかを確認してください)。

手短に:

WK_MS を使用すると、これは sleep 関数に近い動作をしますが、違いは、(呼び出した場所で続行するのではなく) 時間が経過した後に関数が再度呼び出され、wake_up 呼び出しの後に実行が継続されることです。したがって、「Xミリ秒後にもう一度実行してください」のようなものです。

WK_FD を使用すると、提供されたファイル記述子に新しいデータがあるとすぐに、スクリプトを再度呼び出す必要があります (たとえば、自己構築したログ メカニズムを追跡したり、理論的には Websocket などのリアルタイム通信に役立ちますが、CLIENT_SOCKET がこれで動作することはありませんでした。注意してください渡したものが本当にファイル記述子であるかどうかを事前に確認するため)

于 2013-06-03T15:22:09.430 に答える