2016-04-18 12 views
-3

私は4gモバイルホットスポット経由でtcpサーバーに接続しようとしましたが、問題が見つかりました。存在しないサーバーに接続しようとすると、connect関数はまだ0を返し、数秒後に閉じます。それは非同期接続のように見えます。誰でもこの問題が発生していますか?どのようなヘルプのコメントをいただきました。ありがとう。C/C++ Tcp over mobile hotspot

+1

ソケットを作成する場所のコードを表示し、 "connect()"を実行してください。また、あなたがソケット記述子で行った "fcntl()"呼び出しも表示してください。 – TonyB

+0

4gプロバイダがプロキシを使用しているような音がしますか?いずれにしても、サーバーによって開始された他のTCP切断と同じように、この動作を処理するだけで済みます。 –

+0

お返事ありがとうございます。コードは正常に動作していますが、これは自分のコードとは関係ありません。私がホットスポット(iPhone)に接続するときにのみ発生します。 @tonyb – xmpolaris

答えて

0

おそらく、モバイルホットスポットがNAT(ネットワークアドレス変換)をどのように実装しているかが原因です。 NATは、2つの接続(インバウンドおよびアウトバウンド)と2つの間のデータの中継によって実現されます。モバイルホットスポットが最初に接続を受け入れてから発信接続を試みる可能性があります。 NAT操作は通常透過的ですが、実装に依存します。

関連する問題