ホームページ  >  記事  >  バックエンド開発  >  PHP メッセージ キューを使用して Android と Web 通信を実装する_PHP チュートリアル

PHP メッセージ キューを使用して Android と Web 通信を実装する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:53:59976ブラウズ

PHP メッセージキューを使用して Android と Web 間の通信を行う

要件の説明は非常に単純です。Android はデータを Web ページに送信します。

システム: Ubuntu 14.04 + apache2 + php5 + Android 4.4

考え方はソケット + メッセージキュー + サーバー送信イベントです。次の手順は Android 側、サーバー側、フロントエンドです。 PHP のプロセス間通信に焦点を当てています。

Android 側は比較的単純で、単なるソケット プログラムです。アクティブなメインスレッドで直接ソケットを作成すると、android.os.NetworkOnMainThreadException が報告されることに注意してください。そのため、サブスレッドを開いてソケットを作成するのが最善の方法です。コードは次のとおりです。 リーリー

それではメッセージを送信してください

リーリー

完了後にソケットを閉じる必要もあります

リーリー

これらのメソッドはメインスレッドで実行しないでください。

以下はサーバーPHP側です。

まず情報を受信するプロセスを実行します。

リーリー

それも比較的簡単です。このプロセスは独立して実行されるため、Web ページを開いてデータを要求するには、別のスクリプトからアクセスする必要があります。次に、上記の $msg_queue 変数であるメッセージ キューを使用する必要があります。

メインのスクリプトプログラムはこのように書かれています。

リーリー ftok() 関数は、区別するためのキューキーを生成します。

次に、handleData() のタスクは、受信したメッセージをキューに入れることです

リーリー ソケット処理スクリプトのスケルトン リーリー

このようにして、他のプロセスはキーを介してこのキューを見つけ、そこからメッセージを読み取ることができます。これを使って読んでください

リーリー


最後のステップが残っています。フロントエンドにデータをアクティブに送信するにはどうすればよいでしょうか?これには、HTML5 の新機能であるサーバー送信イベントを使用する必要があります (IE 以外の新しいブラウザーを使用するには、詳細についてはここを参照してください)。 JSコードを直接見る

リーリー

この getData.php は、メッセージ キューからデータを取得する上記のスクリプトです。これをサーバー イベントとして認識させるには、次のようにいくつかのフォーマット指示を追加する必要があります。

リーリー

今すぐ実行を開始できます。まずサーバーを実行してください

phpソケット.php

リスニングを印刷した後、Android デバイスを使用して接続できます。

その後、Web 上で JS を使用して getData スクリプトをリクエストし、リクエスト後、フロント デスクは継続的に新しいデータを取得できます。なお、メッセージキューがブロックされる(メッセージ量が上限に達する)場合や、JSメッセージの仕組み自体の制限があるため、欠落や遅延などが多発します。

Web コミュニケーションの古い問題は安定性です。以前は、パケットがドロップされる Web QQ にいつも憤慨していました。実際、Web 革命全体はまだ成功していません。

http://www.bkjia.com/PHPjc/998740.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/998740.html技術記事 PHP メッセージ キューを使用した Android と Web 間の通信要件の説明は非常に簡単です。Android はデータを Web ページに送信します。 システム: Ubuntu 14.04 + apache2 + php5 + Android 4.4 アイデアは...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。