WebSocket は Web2.0 時代の新しい製品であり、HTTP プロトコルのいくつかの欠点を補うために使用されますが、両者の本当の関係は、両方ともソケットをさらにカプセル化したものです。現時点でその最も直観的な表現は、サーバー プッシュおよびチャット機能です。詳細については、「TCP/IP、SPDY、WebSocket の関係を理解するにはどうすればよいですか?」を参照してください。
今日は、Web ブラウザーで WebSocket を使用するのではなく、Android で WebView を使用せずに WebSocket を使用する方法に焦点を当てます。Web ブラウザーで使用する場合、インターネット上にはすでにあまりにも多くのチュートリアル、フレームワーク、デモが存在します。それについて話す必要があります。
これまでのところ、個人的に Android で使いやすい WebSocketClient には、autobahn、AndroidAsync、Java-WebSocket があると思います。使いやすいかどうかは、実際のニーズによって異なります。ここでは Java-WebSocket を選択します。
1. Android クライアントの作成 (Java-WebSocket ライブラリを使用):
1. 実際にマスターする必要があるのは、WebSocketClient だけです。
2. サーバーに接続するための IP/ドメイン名とポートを指定します。サーバーに通知がある場合は、onMessage メソッドを呼び出します
3. 次に、connect メソッドを呼び出して接続します
4. 接続後、メッセージを送信することも非常に簡単です。文字列送信、バイト送信もサポートされています。クライアントはとても満足して書き終えました (詳細なコードについては、後でパッケージ化されるデモを参照してください)。2. サーバーの作成:
1-1、
Java アプリケーション サーバーの作成 (Java-WebSocket ライブラリを使用)
は実際には非常に簡単で、クラス WebSocketServer:1-2 を継承し、メイン メソッドで Open を実行するだけです。のサーバーに接続すると、Android クライアントを使用してチャットに接続し、プッシュ通知を受信できるようになります。これは非常に簡単です。
2-1. Java Web (tomcat) サーバーの作成。ここでは Java-WebSocket ライブラリは使用されませんが、Java API javax.websocket パッケージ内の WebSocket 関連クラスが直接使用されます (Java API は標準のRFC 6455 (JSR256) を選択する必要がある場合は、Java-WebSocket を使用して実装する必要があります。また、Java-WebSocket では、接続プロトコル「Draft_17」が標準の RFC 6455 (JSR256) です。 Java API javax.websocket パッケージに関連する WebSocket を使用する必要があります。クラス要件: JDK7 以降、Tomcat 7.0.49 以降):2-2. 次に、Tomcat を起動すると、Android クライアントを使用してチャットに接続できます。プッシュ通知を受け取ります。
デモコードのダウンロード: websocket chat test Demon.zip
オリジナルエッセイ、転載の際は出典を明記してください。