2012-01-10 21 views
1

自分のサーバーへのアクティブな接続を追跡できるようにします。具体的には、ユーザーがMP3ファイルをストリーミングする時間を追跡したいので、この情報を使用して、ユーザーが個々のトラックなどを聴いている時間に関する統計を構築することができます。 PHPスクリプトに干渉がないため(または少なくともisnこの時点では)現在接続されているIPのリストを見つけるためにサーバをポーリングする方法があるのでしょうか? 代わりに、readfileを使ってPHPスクリプトを使ってストリーミングを処理する方法もありますか? アイデア? ありがとう:)PHPを使用してアクティブなサーバー接続を監視する

+0

"現在接続されているIPのリスト" - > google 'man netstat' – zerkms

答えて

0

これを効果的に行う唯一の方法は、readfile()というPHPスクリプトを使用してファイルをストリーミングすることです。このメソッドを使用すると、送信されたバイト数を数え、クライアント側でどれだけ再生されたかを推測できます。

演奏されたものは何か(クライアント側の測定なしでは)知ることはできません。異なるプレイヤーはデータを別々にバッファリングし、それでもネットワーク状況によって変わる可能性があります。クライアントに送信したデータの量のみを知ることができます。通常、分析のためには、再生される他のトラックと比較して一般的に使用されるため、これは十分な情報です。 FFMPEGなどのツールを使用してファイルのオーディオ長を判断し、送信したファイルのデータの割合で除算することができます。これは可変ビットレートトラックの精度はあまり正確ではありませんが、あなたを野球場に導く最も効率的な方法になります。

0

PHP関数の構築を使用して、このタスクを管理することはできません。しかし、この情報を取得するツールがあります。

具体的には、netstatをご覧ください。 Linuxでは、man(8)にアクセスしてnetstatを探してください。

関連する問題