ここでは,バージョン5以前のTP1/NET/TCP/IPが,次の場合に発行するソケット関数の処理の流れを示します。
TCP/IPソケットと相手システム間のパケット送受信のタイミングはTP1/NET/TCP/IPが動作するOSの実装に依存します。実装によっては,実際のパケット送受信のタイミングが,図に示したパケット送受信のタイミングと異なる場合があります。
なお,バージョン7でのソケット関数の処理の流れについては,「付録G ソケット関数の処理の流れ」を参照してください。
図B-1 クライアント型コネクションの確立(バージョン5以前)
![[図データ]](figure/zu0b0010.gif)
- (凡例)
- ACK:確認応答フラグ
- SYN:コネクション確立要求フラグ
- 注※1
- キープアライブを使用する場合(コネクション定義(mcftalccn -k)のkeepaliveオペランドにyesを指定),発行します。
- 注※2
- TCP_NODELAYを使用する場合(コネクション定義(mcftalccn -k)のnodelayオペランドにyesを指定),発行します。
- 注※3
- 自システムのポート番号を指定した場合,発行します。
- 注※4
- 自システムのホスト名,IPアドレスまたはポート番号を指定した場合,発行します。
- 注※5
- パケットの送受信は,TP1/NET/TCP/IPと非同期に行われます。バージョン5以前のTP1/NET/TCP/IPは,相手システムからのSYNおよびACKを待ち合わせません。
図B-2 クライアント型コネクションの確立障害(相手システムのサービス未起動)(バージョン5以前)
![[図データ]](figure/zu0b0020.gif)
- (凡例)
- SYN:コネクション確立要求フラグ
- RST:コネクション強制切断フラグ
- 注※1
- キープアライブを使用する場合(コネクション定義(mcftalccn -k)のkeepaliveオペランドにyesを指定),発行します。
- 注※2
- TCP_NODELAYを使用する場合(コネクション定義(mcftalccn -k)のnodelayオペランドにyesを指定),発行します。
- 注※3
- 自システムのポート番号を指定した場合,発行します。
- 注※4
- 自システムのホスト名,IPアドレスまたはポート番号を指定した場合,発行します。
- 注※5
- 同じ処理を行います。
- 注※6
- パケットの送受信は,TP1/NET/TCP/IPと非同期に行われます。バージョン5のTP1/NET/TCP/IPは,相手システムからのRSTを待ち合わせません。
- 注※7
- コネクション確立障害時の確立再試行間隔(コネクション定義(mcftalccn -b)のbretryintオペランドの指定値)だけ待ち合わせます。
- 注※8
- 最大でコネクション確立障害時の確立再試行回数(コネクション定義(mcftalccn -b)のbretrycntオペランドの指定値)だけ繰り返します。
図B-3 クライアント型コネクションの確立障害(相手システム未起動またはネットワーク障害)(バージョン5以前)
![[図データ]](figure/zu0b0030.gif)
- (凡例)
- SYN:コネクション確立要求フラグ
- 注※1
- キープアライブを使用する場合(コネクション定義(mcftalccn -k)のkeepaliveオペランドにyesを指定),発行します。
- 注※2
- TCP_NODELAYを使用する場合(コネクション定義(mcftalccn -k)のnodelayオペランドにyesを指定),発行します。
- 注※3
- 自システムのポート番号を指定した場合,発行します。
- 注※4
- 自システムのホスト名,IPアドレスまたはポート番号を指定した場合,発行します。
- 注※5
- コネクション確立障害時の確立再試行間隔(コネクション定義(mcftalccn -b)のbretryintオペランドの指定値)だけ待ち合わせます。
- 注※6
- 最大でコネクション確立障害時の確立再試行回数(コネクション定義(mcftalccn -b)のbretrycntオペランドの指定値)だけ繰り返します。