0

ソケットと WP7.5 を試しています。現在、ソケットの SetNetworkRequirement プロパティを調べています。このハウツーに従っていますが、OS はネットワーク要件を無視しているようです。

要件をセルラーに設定すると、3G にしか接続していない場合でも、ConnectAsync を実行しても何も起こりません。ただし、Wifi に接続して NonCellular を使用すると、tcpdump で接続が確立されていることがわかります。

奇妙なのは、SDK の動作が文書化されていないことです。要件をセルラーに設定すると、接続が確立されていないことがわかりますが、SocketError.Success が返されます。このソケットを使用してデータを送信することもでき、SendAsync も SocketError.Success を受け取ります。

私の質問は、誰かが同様の動作を見たことがありますか、またはネットワーク要件をセルラーに設定することができましたか? もう 1 つの奇妙な観察結果は、電話に存在しない IP/ポートに接続するように要求すると、両方のインターフェイスで接続試行が行われることです。これに基づいて、ドキュメント外のキャッシングが行われていると思われます。

編集:これについてさらにデバッグを行いました。説明されている動作は、ポートにリンクされているようです。80 以外のポートを使用すると、電話機は Cellular と NonCellular の両方に接続します。

前もって感謝します。

4

1 に答える 1

0

誰かが同じ動作を経験した場合、すべてがこれが OS のバグであることを示しています。setNetworkRequirement は (私が試した) 他のすべてのポートで尊重されるため、ポート 80 で実行されているサーバーに関連する問題があるようです。

于 2012-06-03T15:54:55.957 に答える