TCPの切断方法が分かりません。

弊社TCP/IPプロトコルスタック「μNet3」に関するご質問
返信する
アバター
eForce技術担当
記事: 193
登録日時: 2014年4月24日(木) 14:18

TCPの切断方法が分かりません。

投稿記事 by eForce技術担当 » 2014年7月14日(月) 15:05

一般的にTCPを使ったデータの送受信では、送信側が送信するデータが無くなった時に
FINを送信して切断処理を開始します。
受信側はFIN受信により受信するデータがこれ以上無いことを知ったのちに、同様に送信
するデータがなければFINを送信します。
TCPのセッションはお互いにFINを送信・確認した時点で切断処理が 完了します。

uNet3でFINを送信してTCPを切断するには、cls_soc()をコールします。
また受信側はrcv_soc()の戻り値が0もしくはE_CLS(※1)であれば相手のソケットが切断
してきたと判断します。

※1 切断されたタイミングがrcv_soc()をコールする前か後かで戻り値は異なります。

返信する