2016-07-18 20 views
0

私はチャットアプリケーションで作業しています。 1人のユーザが別のユーザにメッセージを送信する。したがって、2人のユーザー(user1とuser2)があります。 user1がuser2にメッセージを送信すると、バックエンドでは、POSTメソッドを使用してWebサーバーにメッセージを送信しています。その後、user2は常にサーバーに要求を送信し、応答でメッセージを受信します。このようにして私の仕事は終わったのですが、Webサーバーから電話にリクエストを送る方法があれば私の質問になりますか? user2は常にサーバーに要求を送信せずに直接メッセージを受信できます。助けてください!Webサーバーからアンドロイドにリクエストを送信する方法は?

+0

ウェブサーバーが電話にリクエストを送信できるように、そのような方法はわかりません。しかし、Webサーバーがメッセージを取得し、user2が通知を受け取ると、プッシュ通知GCMをuser2に送信します。 –

答えて

1

に役立つかもしれないでしょう。代わりに、標準のWebソケットを使用することができます。これは、node.jsやPHP、Pythonなど、あなたが使用しているはずのサーバサイドプログラミングに簡単に実装できます。また、ウェブソケットに基づいてsocket.ioを見たり、quickblox、またはpub-nubやAWSのようなサードパーティのチャットAPIを利用することもできます。

1

はい方法があります。 GCMを使用してmsgを電話に送信できます。

動作は同じです。

  1. GCMとデバイスの両方を登録し、user1は、サーバーにいくつかのMSGを送信するときに、一意のユーザID
  2. をサーバーに登録IDを格納します。 user2の登録IDを取得し、gcmサーバにmsgを送信します。
  3. ユーザ2は、自分が何らかのネットワークに接続したときにmsgを取得します。

@Lineshは目的をチャット用のGCMを使用して、上記と述べた一つの可能​​な解決策になる可能性はなく、型にはまらないように、このリンクは

http://www.androidhive.info/2016/02/android-push-notifications-using-gcm-php-mysql-realtime-chat-app-part-1/

http://www.androidhive.info/2016/02/android-push-notifications-using-gcm-php-mysql-realtime-chat-app-part-2/

0

100%GCMを使用することの大きな欠点の1つは、他のサービスも使用できるようにするために特別なステップを踏まなければ、Androidにつなげることができるということです。 AndroidからiOSへ、Windows PhoneからAndroidへ、Androidからデスクトップへのクライアントには適用されません。これは、私が最近見た統計によると、Androidは約66%の市場シェアを持っているため、重要な欠点となっています。これは多くのように聞こえますが、この制限は1/3の人とチャットできなかったことを意味します。 iOS、Windows、Amazonの携帯電話/タブレットはすべて異なるプッシュ通知サービスを使用します。 (これに対する可能な解決策の1つは、AWS SNS Pushを使用することです。これは、さまざまなプッシュ通知サービスの「中仲人」として機能し、プラットフォームの独立性をある程度向上させます)。

SignalRもオプションです。実際には、それを使用するチャットアプリケーションの例がかなりあります。実際には正式な例のようです。

関連する問題