2011-12-24 12 views
1

ブラックベリークライアントとJavaサーバーの間にソケット接続を作成しようとしています。私はブラックベリーのサンプルコードからソケットAPIの例を拡張する簡単なサンプルコードが必要です。BlackBerryのソケットプログラミング

私たちにはアンドロイドシステムと通信するサーバーがあり、ブラックベリークライアントでも動作するようにサーバーが必要です。

+0

私はbalckberryヘルプを参照しましたが、この例を使用して理解して実装することができませんでした:http://docs.blackberry.com/en/developers/deliverables/7693/Use_a_socket_connection_508960_11.jsp –

+0

蛇を理解できませんコード? getHostFieldTextは何を行いますか?String url = "socket://" + _screen.getHostFieldText()+ ":6667" +(_screen.isDirectTCP()? "; deviceside = true": ""); connection =(StreamConnection)Connector.open(url); –

+0

_screen.getHostFieldText()の値は、IPアドレスまたはサーバーアドレスになります。希望のサーバーアドレスに置き換えます。 6667はサーバーのポート番号です(サーバーのポート番号に置き換えてください)。また、直接TCP経由でソケット接続を開くには、deviceside = trueパラメータをURLの末尾に追加します。しかし、BlackBerry MDS Servicesを使用する場合は、deviceside = falseを追加します。 – Rupak

答えて

1

ごめんなさい。コメントの長さのためにコメントを投稿しています。 _screen.isDirectTCP()はAPIメソッドではないので、このメソッドが何を返すのかはわかりません。しかし、メソッド名/シグネチャからは、このメソッドは、デバイス上で直接TCP接続が利用可能かどうかをチェックするためにのみ使用されると思います。結果に応じて、アプリケーションは "; deviceside = ...."のような接続パラメータを追加します。 Network Transport記事から

、あなたのアプリケーションは、デフォルトの接続で、前のセクションで説明 種類を依存したくない場合は、明示的に追加することにより、 たい接続タイプの状態「devicesideを=」パラメータを のリンク先URLに追加します。アプリケーションが末尾のURL「 」に「; devicesides = true」を追加すると、直接HTTP接続またはTCP接続のみが試みられます( )。アプリケーションは、BlackBerry MDSを使用してネットワーク に接続しようとしません。または、アプリケーションが宛先URLに "; deviceside = false"を追加した場合、アプリケーションは のみがBlackBerry MDSを使用してネットワークに接続しようとします。 アプリケーションは、パブリック IPゲートウェイを使用してネットワークに接続しようとしません。

What Is - Different ways to make an HTTP or socket connectionもご覧ください。

+0

あなたの答えをありがとう、それは私たちがソケットを作成するのに役立ちました。しかし、私がAndroidとBlackBerryの間にソケットを作成すると、Android ClientとServerの間にすでに作成されているソケットが邪魔になります。この点についてのヘルプは高く評価されます。 –