RENESAS TOOL NEWS [ 2004年03月01日 : RSO-M3S-STCP30-040301D ]
TCP/IPプロトコルスタック
M3S-STCP30 日本語版
ご使用上のお願い
|
M16C/62グループ用ミドルウェアTCP/IPプロトコルスタックM3S-STCP30の使用上の注意事項を連絡します。
- TCPデータ送信関数 tcp_snd_dat() に関する注意事項
- 該当製品
開発キット M3S-STCP30K V.1.00 Release 1 ~ V.1.02 Release 1
量産契約 M3S-STCP30S V.1.00 Release 1 ~ V.1.02 Release 1
- 内容
M3S-STCP30からのデータ送信により、通信相手がゼロウィンドウ状態になった後、
M3S-STCP30からの送信が停止し、TCPデータ送信関数 tcp_snd_dat() が終了待ちのままになる場合があります。
- 2.1 発生条件
- 以下の条件をすべて満す場合に発生する可能性があります。
| (1) |
通信相手がゼロウィンドウ状態である。もしくはゼロウィンドウを解消した状態である。
|
| (2) |
tcp_snd_dat()のタイムアウトにTMO_FEVR(永久待ち)を指定している。
|
| ※ |
上記条件を満たしても問題が発生しない場合があります。
M3S-STCP30からのデータ送信速度、通信相手の読み出し速度および読み出し
タイミングなどが特定の条件になった場合に問題が発生しますが、その条件になるタイミングの予測は困難です。
|
- 回避策
通信相手がゼロウィンドウになる可能性がある場合(※)は、tcp_snd_dat() の
タイムアウトにTMO_FEVR以外を指定してください。
| ※ |
通信相手がゼロウィンドウになる可能性は、パケットモニタ等で確認してください。
|
tcp_snd_dat() がタイムアウトした場合は、TCPクローズ関数 tcp_cls_cep() を
使用してコネクションを切断し、再度コネクションを確立してください。その後、データの送信を再開してください。
- 恒久対策
本内容は、次期バージョンアップの際に改修する予定です。