ページ 11

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

Posted: 2014年7月14日(月) 15:05
by eForce技術担当
一般的にTCPを使ったデータの送受信では、送信側が送信するデータが無くなった時に
FINを送信して切断処理を開始します。
受信側はFIN受信により受信するデータがこれ以上無いことを知ったのちに、同様に送信
するデータがなければFINを送信します。
TCPのセッションはお互いにFINを送信・確認した時点で切断処理が 完了します。

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

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