エクスペリアでソケット通信

514 views
Skip to first unread message

かなつ

unread,
Dec 16, 2010, 3:06:21 AM12/16/10
to Android-SDK-Japan
エクスペリアでソケット通信したいのですが。
エミュレータではうまくいきますが、実機で実行すると

socket=new Socket(ip,port);←ここで接続できません
in =socket.getInputStream();
out=socket.getOutputStream();

エクスペリアでは、静的アドレスを設定して、無線Lanのネットワークにも正常に入っています。
ただし、同じネットワーク上の別のパソコンから、pingコマンドで接続確認しても、NGで帰ってきます。

ソニーエリクソンに問い合わせましたが、期待する回答はありませんでした。
どなたか、同じ経験をされた方いましたらよろしくご教授願います。

black

unread,
Dec 17, 2010, 12:51:06 AM12/17/10
to Android-SDK-Japan
XPERIA-OS2.1実機でも、問題なく動作しますよ。

無線LANの動的/静的IPアドレスのどちらもOKです。
実機は無線LAN経由でPCからのPingに正しく反応します。
エラーメッセージを提示いただけると、もう少しコメントできるのですが。

受け側ServerSocketの問題、または接続先指定方法の誤りに問題があると思われます。
勝手な想像ではエミュレータ上でサーバおよびクライアントを作成し、問題ないのでどちらかを実機に移動して確認しているとか。
その場合は、次の点を確認。
1、受け側ServerSocketの待ち受けIPがlocalhostとなっている。(自分以外の機器から通信を受け付けない)
2、エミュレータ側をサーバとしている。(他へ接続はできるが、他から接続できない。)

参考になればよいのですが。

かなつ

unread,
Dec 17, 2010, 1:13:54 AM12/17/10
to Android-SDK-Japan
ご返答有難うございます。

説明が足りませんでした。
もう少し、詳しくご説明します。

1.エミュレーターモードでは、サーバー側PCは別のPCを使用しています。
2.サーバー側はすでに、ソケット受信の実績のあるアプリケーションを使用しており、無線LAN上の別PCからのソケット通信に正しく反応していま
す。
3.エクスペリアの設定・・・静的IPアドレスを設定(192.168.1.30)、サブネットマスクは255.255.255.0 デフォルトゲート
ウェイは未設定
4.サーバー側PCは、静的IPアドレスは192.168.1.3 サブネットマスクは255.255.255.0
5.サーバー側からエクスペリアに、ping 192.168.1.30で実行しても”要求がタイムアウトしました”になってしまいます
6.サーバー側から無線LAN上の別のPCには正しくpingが動作します

よろしければ、現在うまく動作しているエクスペリアの詳細設定を教えていただけないでしょうか。
又、無線アクセスポイントの機種、設定内容etc

恐らく、pingがエクスペリアに通れば正常に動くと思われます。


どうぞ、よろしくご回答願います
> > どなたか、同じ経験をされた方いましたらよろしくご教授願います。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

black

unread,
Dec 17, 2010, 1:52:09 AM12/17/10
to Android-SDK-Japan
サーバー側とネットワークはOKということですね。

こちらでの無線APや設定は一般的なものです。
(詳細6から無線APがパケットをフィルタしている可能性は低いため、このあたりの詳細提示は今回ごめんなさい)

Android-OSのバージョンは2.1ですか?
エクスぺリアの静的IPは確かですか?(IP関連設定は、なかなか反映されないため)

念のために、エクスぺリアのIP情報をツール(AndroidMarketに転がっている)で確認してください。
エクスぺリアからサーバーへのPingを確認してください。
あと、エラー情報を提示いただければ。。。

かなつ

unread,
Dec 18, 2010, 12:52:38 AM12/18/10
to Android-SDK-Japan
ご返答有難うございます。

Android-OSのバージョンは2.1です。

アンドロイドマーケットでツールをダウンロードしていろいろ試してみましたが、

静的IPアドレスを設定しても、反映されていないことがわかりました。

無線LANネットワークに入っていないときのIPアドレスですが、
Internal 27.229.243.118
External 27.229.243.118
で同じ

無線LANネットワークに入っている場合
Internal 192.168.2.100
External 27.229.243.118


おそらく、無線LANにつながる時には、”・・・・からIPアドレスを取得中・・・”というメッセージがでますのでここで、IPアドレスをAPから発行
されています。
静的IPアドレスを使用するにチェックを入れても全く機能していないと思われます。
一度電源をOFF、ONしてみましたが、”静的IPアドレスを使用する”にチェックは入っていますし。

念のため、エクスペリアを初期化してトライしてみましたが結果は変わりませんでした。

”IP関連設定は、なかなか反映されないため”とのご回答でしたが、まだエクスペリア側に設定させるところがあるのでしょうか?
又、アンドロイドマーケットで探せば、静的IPアドレスを設定できるツールがあるのでしょうか?
本当、初期的な悩みで申し訳ありませんが、よろしくご教授願います。
> > > - 引用テキストを表示 -- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

かなつ

unread,
Dec 18, 2010, 1:04:54 AM12/18/10
to Android-SDK-Japan
補足ですが、
APから送られてきた、IPアドレスでpingを双方向で実行させるとOKでした。
ただし、今回は固定IPをアンドロイド端末に設定する必要がありますので。
よろしくご確認ください

misuya yoshihiko

unread,
Dec 18, 2010, 3:58:16 AM12/18/10
to android-...@googlegroups.com
TO:かなつさん

MANOと申します。

当方Desireを使用していますが、ネットワークの設定に気になるところがあります。

>3.エクスペリアの設定・・・静的IPアドレスを設定(192.168.1.30)、サブネットマスクは255.255.255.0 デフォルトゲート
ウェイは未設定

デフォルトのゲートウェイに適切な指定をすれば正常に動作するのではないでしょうか?

Desireでのテスト結果
無線APからIPをDHCPで取得 ・・ Ping OK  PCからDesire

無線APに接続 固定IPを設定 GWは未設定 ・・ Ping NG PCからDesire

無線APに接続 固定IPを設定 GWはルータIPを設定 ・・ Ping OK PCからDesire

参考までにご検討ください。


2010年12月18日15:04 かなつ <satorumi...@gmail.com>:

> --
> このメールは Google グループのグループ「Android-SDK-Japan」の登録者に送られています。
> このグループに投稿するには、android-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-sdk-ja...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-sdk-japan?hl=ja からこのグループにアクセスしてください。
>
>
>

--
******************
 (株)ウェブスターシステム
 ITソリューション事業部 第3部
 翠簾屋 良彦
******************

black

unread,
Dec 18, 2010, 7:41:46 PM12/18/10
to Android-SDK-Japan
原因がはっきりして何よりです。

で、課題の固定IP設定およびどの時点で反映されるかですが、やなりなかなか
うまくいきませんね。

一旦、設定できた手順は次の通りです。
1、WiFiの設定で、固定IPを設定する。
2、WiFiの既存接続先を削除
3、WiFiをOFF
4、本体の電源入れ直し
5、WiFiをON
6、接続先の登録

一旦といっているのは、上記設定をやり直さないと接続できなくなったことがあったため。
上記手順と無線LAN全般の不安定さは仕様といわれても到底納得できるものではないため、XPERIA-2.1の問題といえますね。
(XPERIAのAndroid-ver.2.2を擬似マルチタッチ対応でリリースしてほしい!!!)

今回はサブネット(ローカルドメイン)内の通信なので、デフォルトゲートウェイ設定は関係ないですね。(これまでの内容から理解されていると思われます
が)

これで解決!!!ですかね。

かなつ

unread,
Dec 18, 2010, 8:12:02 PM12/18/10
to Android-SDK-Japan
MANOさん、Blackさん ご返答有難うございました、大変感謝しています。

ゲートウェイですが、設定していないとAPから?割り当てられるようです。
DNS1も同じく、ゲートウェイと同じアドレスが割り当てられていました。(WiFi Infoをアンドロイドマーケットから入手して確認)

今回は、業務用に使用予定で機種はこれから選定に入ります。
新規購入前に、自前のエクスペリアで動作確認してからと思い、作業していました。

最後のご質問ですが、android V2.2で静的IPを問題なく設定できた機種があればご連絡いただけますか?
以上、よろしくお願いいたします。

misuya yoshihiko

unread,
Dec 19, 2010, 2:13:47 AM12/19/10
to android-...@googlegroups.com
TO:Blackさん

MANOと申します。


> 今回はサブネット(ローカルドメイン)内の通信なので、デフォルトゲートウェイ設定は関係ないですね。(これまでの内容

> から理解されていると思われますが)

ご指摘のように通常通り動作していれば、同一サブネット内で、ARP問い合わせを行いパケット生成(Ping応答)が
できるはずですが、今回は、希望通りの動作となっていないようです。

Xperiaの動作が通常でないと仮定して、本来はGWに送られずにコンピュータ間で通信するべきパケットが、
GWに送られれば、外部には送達(転送)されず、目的のコンピュータ(今回はサーバ)へパケットが
転送(ルーティング)されることを期待た設定だと考えました。

イレギュラーだとは思いますが、クライアント側の通信が正常でない場合に回避策になるのでは?
と思いました。


2010年12月19日9:41 black <x10...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages