4

私は毎秒ソケットに書き込むPHPサーバーをセットアップしました。

while(1) {
  $message = "Hello, World!";
  socket_write($socket, $message, strlen($message));
  sleep(1);
}

次に、1/10秒ごとにソケットのデータをチェックするLuaクライアント(Corona SDK)があります。

timer.performWithDelay(100, function() sock:receive() end, 0) end

私の質問は、sock:receive()が実行されるたびにサーバーが「ヒット」するかどうかです。または、sock:receive()はローカルバッファのみをチェックしますか?

質問を言い換えると、sock:receive()を実行する頻度が高いほど、サーバーはより多くの負荷を受け取りますか?それとも、これによる影響はまったくありませんか?

4

1 に答える 1

0

いいえ、ソケット受信はサーバーに「ヒット」しません。可能であれば、サーバー側でWiresharkを実行して、クライアントが受信や読み取りなどを呼び出したときに何も送信されないことを自分自身に証明できます。ソケットを設定するためにクライアントと少量のデータが交換されますが、ソケットが設定されると、読み取り時にクライアントから何も送信されません。

いくつかの背景情報はBeejのガイドで利用可能です

于 2013-03-26T01:48:48.170 に答える