対象:
μNet3/Compact、μNet3/Standard
質問:
μNet3搭載デバイス内で立ち上げている、TCPサーバに接続する事が出来ません。
何が原因として考えられますか?
回答:
TCP/IPのコネクションの問題に対するケースを以下に掲示します。
■ケース1:TCPクライアントのSYN要求に対して、TCPサーバが応答しない
一つ目の原因として、接続対象のIPアドレスが存在しない可能性があります。
この場合、MACアドレス解決の為のARPパケットのやり取りが失敗している形跡があります。
PING疎通をして、対向の存在を確認してください。
二つ目の原因として、接続対象の端末のセキュリティ設定などにより、接続ポートのSYN要求が弾かれている可能性が考えられます。
この場合、MACアドレス解決の為のARPパケットのやり取りは成功している形跡があります。
■ケース2:TCPクライアントのSYN要求に対して、TCPサーバが即座にRSTを返している
接続ポートに対して、LISTEN状態のソケットが一つも存在しない為、TCPプロトコルが接続を拒否しています。
この場合、TCPサーバ側の接続対象ソケットのTCPステータスがLISTEN状態であるかを確認ください。
μNet3のTCPステータス状態の確認方法についてはμNet3 TCPソケットのTCPステータスを確認したいを参照ください。
■ケース3:TCPクライアントからのSYN要求が発生しない
TCPクライアント側に問題があります。
この場合、端末のセキュリティ設定の見直しや、毎回同じTCPクライアントポートで
TCP接続をしようとしている場合、2MSL待ちによるTIME_WAIT状態維持でソケットのbind失敗などの可能性が考えられます。