ロングポーリング AJAX と Apache/PHP を使用して Comet を実装しています。問題は、(私にとっては不明な) 一定期間内に対話がない場合、つまりデータの送受信がなく、しばらくしてからイベントを送信すると、クライアント側のロングポーリング要求が保留状態のままになることです。新しいデータを受け取ります。クライアント側がタイムアウトを受け取って再接続することもありますが、何も受信しないこともあり、既に述べたように、リクエストは保留されたままになります。ここに示されているように実装していますcomet の実装自体とは関係のないいくつかの変更 (つまり、ファイルの代わりにデータベースを使用) があります。サーバー側で新しいイベントを待機するループを使用し、サーバーのタイムアウトにより接続が閉じられたように見えますが、クライアントは再接続のために接続を閉じません。この問題を回避するにはどうすればよいですか? 解決策は、再接続にクライアント側のタイマーを使用しますか?
質問する
454 次