2016-04-08 17 views
0

Androidアプリをデスクトップサーバーに接続しようとしています。問題は、スマートフォンのポータブルWi-Fiホットスポット経由でLANを作成しようとするとすべてうまくいきますが、PCと携帯電話をルータに接続すると、Androidアプリケーションにソケットを作成するTimeOutExceptionが発生します。一方、デスクトップクライアントをルータ経由でデスクトップサーバに接続すると、正常に動作するため、モバイルクライアントをルータ経由でデスクトップサーバに接続しようとすると問題が発生します。AndroidデバイスからPCにtcpソケットを作成できないのはなぜですか?

クライアントコード(Javaの):

Socket socket = new Socket(); 
socket.connect(new InetSocketAddress(ip, port), 1000); // TimeOutException 

Serverコード(C++/Qtの):

QTcpServer m_tcp_server; 
// ... 
m_tcp_server->listen(QHostAddress::Any, m_port); 

IPアドレスとポートは、(100%)正しいです

UPD:

ありがとう、皆さん。

これは単なるルーターの問題でした。私は別のものを試しましたが、問題はありません

+1

'私はTimeOutExceptionがソケットを作成しています。あなたのソケットはうまく作成されません。しかし、ソケットはサーバーに接続できません。どのIPを使用しているか教えてください。 – greenapps

+0

私はipconfig(必要に応じて192.168.0.29)を使用して自分のPCのIPを使用します – Vlad

+1

ファイアウォールをチェックするかスイッチをオフにしますか – greenapps

答えて

0

あなたがアンドロイドポホネに割り当てたIPを確認してください。

あなたはwifiとipによって異なるipをケーブルで得る可能性があります。

また、アンドロイドネットツールを使用してサーバーに接続することもできます。

+0

私はPCからAndroidとAndroidからPCにpingしました。 Pingは正常に動作します。私はNetwork Discovery(Android)を使用してPCのポートもスキャンしましたが、サーバーのポートは見つかりませんでした。 nmap(WIndows)経由でポートをスキャンしようとすると、このポートはフィルタリングされていると言われています。理由は無応答ですが、デスクトップクライアントが動作します – Vlad

関連する問題