1

Androidのソケットに関するこのチュートリアルのコードをコピーして貼り付けました。

接続が試行されるまで、正常にビルドされ、期待どおりに実行されます。

USBに接続し、ADBを使用してポート転送をオンにしました。

私はC#(Javaよりも快適です)でテストアプリを作成しましたが、エラー10061が発生し続けます:

ターゲットコンピュータが積極的に接続を拒否したため、接続できませんでした。これは通常、外部ホストで非アクティブなサービス、つまりサーバーアプリケーションが実行されていないサービスに接続しようとしたことが原因です。

SocketTestを使用すると、次の(かなり不可解な)メッセージが表示されます。

接続エラー:接続

ファイアウォールを無効にしようとしましたが、これは役に立ちません。何が間違っている可能性がありますか?

4

2 に答える 2

3

「アクティブに拒否された」とは、ターゲットが、ポートでリッスンしているプロセスがない(「サーバーアプリケーションが実行されていない」)ことを通知するパケットを送り返したことを意味します。一部のファイアウォールはこれらのパケットをフィルタリングすることさえあり、接続が試行されるとタイムアウトになります。

于 2012-06-14T15:10:08.063 に答える
1

それはADBと関係があることがわかりました。セッションの開始時にポート転送を開始しましたが、ポート転送コマンドを再発行したときにアプリが起動したため、ADBプロセスはある時点で再起動したはずです。

残念ながら、ADBによって現在転送されているポートを表示する方法はありません。肝心なのは「疑わしい場合はもう一度やり直してください」だと思います。

于 2012-06-14T16:30:14.317 に答える