2011-12-17 24 views
2

クライアント/サーバープログラムをセットアップして、サーバーがAndroid上のPCとクライアント上で実行できるようにしました。エミュレータまたはデバイスのいずれか。 サーバーはクライアントからデータを受信しますが、クライアントはサーバーからデータを受信しません(すべてUDP)。サーバーがrecvfromからクライアントのアドレスを取得している間に発生します。 私はそれをAndroidエミュレータとAndroidデバイス(私の電話)の両方で動作させたいと思っています。 Androidエミュレータに仮想ルータがあることを読んだ。私はクライアントにip 10.0.2.2をサーバと同じコンピュータ上で実行しようとしましたが、解決しませんでした。 クライアントとサーバーの間に通信があり、片側だけです。 私が紛失しているものは何ですか? 私はJNI \ C++(Android用)とwinsock2(PCサーバー用)のBerkleyソケットを使用しています。PCサーバー、Androidクライアント。 UDP。クライアントからサーバーからのパケットが受信されない

+0

WindowsサーバーにAndroid搭載端末へのルートがありますか? – fge

+0

AndroidエミュレータがUDPパケットを受信することをパケットスニッフィングで発見しました。しかし、それは仮想ルータを持っているので、これらのパケットは決してAndroid上の私のアプリケーションに到達しません。 デバイスについてわかりません。 – user1097185

+0

あなたのAndroid仮想デバイスにtelnetがありますか? 'telnet theserver anopenport'を試してみて、接続が確立しているかどうか確認してください。 – fge

答えて

0

編集:

私はそれを動作させることができました!だから、UDPは両方の方法でAndroid上で動作することができます! 問題は、winsock2での選択では最初のパラメータが未使用で、linux \ Androidではそれが使用されてnfdsと呼ばれていたということでした。 (私がwinsock2で行ったように)そのパラメータにNULLを送信すると、基本的に常に0が返されます。

ありがとうございました。

+0

どのようにあなたのAndroidデバイスとPCを接続しましたか? wifまたはusbテザー経由でしたか?それが無線LAN経由であれば無線LANテザーですか? – Zax

+1

ザック、PCはルータとLANで接続されていました。電話機は、同じルータに接続されたWiFiを使用していました。任意の有効なTCP \ IPネットワークが行います。 – user1097185

0

アンドロイドのトピックを受け取っているudpパケットにソースコードへのリンクを投稿するかどうかは疑問でしたが、単純な回答はありません。私自身は、PCからアンドロイドに送るudpパケットのための簡単なプログラムを見つけることができません。

関連する問題