nl::Inet::TCPEndPoint

#include <src/inet/TCPEndPoint.h>

このクラスのオブジェクトは TCP トランスポート エンドポイントを表します。

概要

Nest Inet Layer は、システムが適切に構成されている場合、TCP トランスポート エンドポイント(Linux および BSD 派生システムの SOCK_STREAM ソケット)または LwIP TCP プロトコル制御ブロックとやり取りするためのメソッドをカプセル化します。

継承

継承元: nl::Inet::EndPointBasis

パブリック タイプ

@10{
  kState_Ready = kBasisState_Closed,
  kState_Bound = 1,
  kState_Listening = 2,
  kState_Connecting = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_ReceiveShutdown = 6,
  kState_Closing = 7,
  kState_Closed = 8
}
enum
基盤となるエンドポイントの基本的な動的状態。
OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
接続受け入れエラーイベント処理関数のタイプ。
OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
接続確立イベント処理関数のタイプ。
OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
接続確立イベント処理関数のタイプ。
OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
接続受信イベント処理関数のタイプ。
OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
データ受信イベント処理関数のタイプ。
OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
データ転送イベント処理関数のタイプ。
OnPeerCloseFunct)(TCPEndPoint *endPoint) typedef
void(*
半クローズ受信イベント処理関数のタイプ。
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
TCP SendIdle 変更信号処理関数のタイプ。

パブリック属性

OnAcceptError
エンドポイントの接続受け入れイベント処理関数のデリゲート。
OnConnectComplete
エンドポイントの接続確立イベント処理関数のデリゲート。
OnConnectionClosed
エンドポイントのクローズ イベント処理関数のデリゲート。
OnConnectionReceived
エンドポイントの接続受信イベント処理関数のデリゲート。
OnDataReceived
エンドポイントのメッセージ テキスト受信イベント処理関数のデリゲート。
OnDataSent
エンドポイントのメッセージ テキスト送信イベント処理関数のデリゲート。
OnPeerClose
エンドポイントの半クローズ受信イベント処理関数のデリゲート。
OnTCPSendIdleChanged
TCP 接続の送信チャネルのアイドル状態が変化したときのエンドポイント シグナリングのイベント処理機能がデリゲートします。
ReceiveEnabled
bool
アプリがデータを受信しているかどうかを示す制御スイッチ。
State
enum nl::Inet::TCPEndPoint::@10
基盤となるエンドポイントの基本的な動的状態。

パブリック関数

Abort(void)
void
エンドポイントを中断して閉じます(RST パケットを送信します)。
AckReceive(uint16_t len)
メッセージ テキストの受信を承認します。
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
エンドポイントをインターフェース IP アドレスにバインドします。
Close(void)
TCP フルクローズを開始します。つまり、送信と受信の両方を終了します。
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
TCP 接続を開始します。
DisableKeepAlive(void)
TCP の「キープアライブ」オプションを無効にします。
DisableReceive(void)
void
受信を無効にします。
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
TCP の「keep-alive」オプションを有効にする。
EnableNoDelay(void)
EnableNoDelay。
EnableReceive(void)
void
受信を有効にします。
Free(void)
void
TCP 完全クローズを開始(または続行)し、エラーを無視します。
GetLocalInfo(IPAddress *retAddr, uint16_t *retPort)
ローカル エンドポイントの IP アドレスと TCP ポートを抽出します。
GetPeerInfo(IPAddress *retAddr, uint16_t *retPort) const
リモート エンドポイントの IP アドレスと TCP ポートを抽出します。
IsConnected(void) const
bool
TCP 接続が確立されているかどうかを抽出します。
Listen(uint16_t backlog)
TCP メッセージを受信するようにエンドポイントを準備します。
LogId(void)
uint16_t
エンドポイントの識別子を取得します。
MarkActive(void)
void
アクティビティを記録します。つまり、アイドル タイマーをリセットします。
PendingReceiveLength(void)
uint32_t
未確認の受信データの長さを抽出します。
PendingSendLength(void)
uint32_t
最初の送信を待機しているデータの長さを抽出します。
PutBackReceivedData(Weave::System::PacketBuffer *data)
メッセージ テキストを受信キューの先頭にプッシュします。
Send(Weave::System::PacketBuffer *data, bool push)
TCP 接続でメッセージ テキストを送信します。
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Connect が成功するかエラーを返すまでのタイムアウトを設定します。
SetUserTimeout(uint32_t userTimeoutMillis)
TCP TCP_USER_TIMEOUT ソケット オプションを設定します。
Shutdown(void)
TCP ハーフクローズを開始します。つまり、送信を終了します。

パブリック タイプ

10

 @10

基盤となるエンドポイントの基本的な動的状態。

オブジェクトは「準備完了」状態で初期化され、TCP トランスポート ステートマシンの状態の単純化に対応する後続の状態に進みます。

注: 過去のバイナリ互換性の理由から、kBasisState_Closed 状態列挙型は kState_Ready にマッピングされています。既存の kState_Closed は、これまで kState_Ready 状態と kState_Closed 状態であった「まだ開いていない」と「前回開いた後、閉じた状態」を別々に識別するために存在します。

プロパティ
kState_Bound

エンドポイントはバインドされていますが、リッスンしていません。

kState_Closed

エンドポイントが閉じ、リリースの準備ができています。

kState_Closing

エンドポイントが双方向で閉じられる。

kState_Connected

エンドポイントが接続され、送信/受信の準備ができています。

kState_Connecting

接続を試行しているエンドポイント。

kState_Listening

接続を受信するエンドポイント。

kState_Ready

エンドポイントは初期化されましたが、バインドされていません。

kState_ReceiveShutdown

エンドポイントが半クローズに応答。

kState_SendShutdown

エンドポイントが半クローズを開始しました。

OnAcceptErrorFunct

void(* OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err)

接続受け入れエラーイベント処理関数のタイプ。

endPoint で接続承認エラーイベントを処理するために、このタイプの関数を OnAcceptError 委譲メンバーに提供します。err 引数は、エラーの種類に関する具体的な詳細を提供します。

詳細
パラメータ
[in] endPoint
イベントに関連付けられた TCP エンドポイント。
[in] err
エラーの理由。

OnConnectCompleteFunct

void(* OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err)

接続確立イベント処理関数のタイプ。

このタイプの関数を OnConnectComplete 委譲メンバーに渡して、endPoint での接続確立イベントを処理します。err 引数は、成功した接続と失敗を区別します。

詳細
パラメータ
[in] endPoint
イベントに関連付けられた TCP エンドポイント。
[in] err
成功した場合は INET_NO_ERROR、それ以外の場合は別のコード。

OnConnectionClosedFunct

void(* OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err)

接続確立イベント処理関数のタイプ。

このタイプの関数を OnConnectionClosed 委譲メンバーに渡して、endPoint での接続終了イベントを処理します。err 引数は、正常な終了と失敗を区別します。

詳細
パラメータ
[in] endPoint
イベントに関連付けられた TCP エンドポイント。
[in] err
成功した場合は INET_NO_ERROR、それ以外の場合は別のコード。

OnConnectionReceivedFunct

void(* OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort)

接続受信イベント処理関数のタイプ。

このタイプの関数を OnConnectionReceived デリゲート メンバーに渡して、listeningEndPoint で接続受信イベントを処理します。新しく受信したエンドポイント conEndPoint は、IP アドレス peerAddr と TCP ポート peerPort にあります。

詳細
パラメータ
[in] listeningEndPoint
リスニング TCP エンドポイント。
[in] conEndPoint
新しく受信した TCP エンドポイント。
[in] peerAddr
リモートピアの IP アドレス。
[in] peerPort
リモートピアの TCP ポート。

OnDataReceivedFunct

void(* OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data)

データ受信イベント処理関数のタイプ。

この型の関数を OnDataReceived 委譲メンバーに提供して、endPoint でのデータ受信イベントを処理します。ここで、data は受信したメッセージ テキストです。

詳細
パラメータ
[in] endPoint
イベントに関連付けられた TCP エンドポイント。
[in] data
受信したデータ。

データ受信イベント ハンドラは、AckReceive メソッドを使用して処理されたデータの確認応答を行う必要があります。代わりに PutBackReceivedData を使用する場合を除き、データバッファの Free メソッドも呼び出す必要があります。

OnDataSentFunct

void(* OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len)

データ転送イベント処理関数のタイプ。

このタイプの関数を OnDataSent 委譲メンバーに提供して、endPoint でデータ転送イベントを処理します。ここで、len は、基盤となるネットワーク スタックによる送信の対象となる、TCP 送信ウィンドウに追加されたメッセージ テキストの長さです。

詳細
パラメータ
[in] endPoint
イベントに関連付けられた TCP エンドポイント。
[in] len
送信ウィンドウに追加されたバイト数。

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

半クローズ受信イベント処理関数のタイプ。

このタイプの関数を OnPeerClose 委譲メンバーに渡して、endPoint での接続終了イベントを処理します。

詳細
パラメータ
[in] endPoint
イベントに関連付けられた TCP エンドポイント。

OnTCPSendIdleChangedFunct

void(* OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle)

TCP SendIdle 変更信号処理関数のタイプ。

このタイプの関数を OnTCPSendIdleChanged 委譲メンバーに提供して、TCPEndPoint の送信チャネルがアイドル状態かアイドル状態でないかを切り替えるイベントを処理します。

詳細
パラメータ
[in] endPoint
イベントに関連付けられた TCP エンドポイント。
[in] isIdle
TCP エンドポイントの送信チャネルがアイドル状態の場合は true、それ以外の場合は false です。

パブリック属性

OnAcceptError

OnAcceptErrorFunct OnAcceptError

エンドポイントの接続受け入れイベント処理関数のデリゲート。

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

エンドポイントの接続確立イベント処理関数のデリゲート。

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

エンドポイントのクローズ イベント処理関数のデリゲート。

OnConnectionReceived

OnConnectionReceivedFunct OnConnectionReceived

エンドポイントの接続受信イベント処理関数のデリゲート。

OnDataReceived

OnDataReceivedFunct OnDataReceived

エンドポイントのメッセージ テキスト受信イベント処理関数のデリゲート。

OnDataSent

OnDataSentFunct OnDataSent

エンドポイントのメッセージ テキスト送信イベント処理関数のデリゲート。

OnPeerClose

OnPeerCloseFunct OnPeerClose

エンドポイントの半クローズ受信イベント処理関数のデリゲート。

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

TCP 接続の送信チャネルのアイドル状態が変化したときのエンドポイント シグナリングのイベント処理機能がデリゲートします。

上位レイヤは、これを利用して、送信されたデータがピアに確実に配信されたかどうかに基づいて適切なアクションを実行します。

ReceiveEnabled

bool ReceiveEnabled

アプリがデータを受信しているかどうかを示す制御スイッチ。

状態

enum nl::Inet::TCPEndPoint::@10 State

基盤となるエンドポイントの基本的な動的状態。

オブジェクトは「準備完了」状態で初期化され、TCP トランスポート ステートマシンの状態の単純化に対応する後続の状態に進みます。

注: 過去のバイナリ互換性の理由から、kBasisState_Closed 状態列挙型は kState_Ready にマッピングされています。既存の kState_Closed は、これまで kState_Ready 状態と kState_Closed 状態であった「まだ開いていない」と「前回開いた後、閉じた状態」を別々に識別するために存在します。

パブリック関数

中止(abort)

void Abort(
  void
)

エンドポイントを中断して閉じます(RST パケットを送信します)。

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

メッセージ テキストの受信を承認します。

このメソッドは、受信したデータのすべてまたは一部の受信を確認するために使用します。len が未確認の受信データの合計よりも大きい場合、オペレーション セマンティクスは未定義になります。

詳細
パラメータ
[in] len
バイト数。
戻り値
INET_NO_ERROR
成功: 受信が確認されました。
INET_ERROR_INCORRECT_STATE
TCP 接続が確立されていません。
INET_ERROR_CONNECTION_ABORTED
TCP 接続が開かれなくなりました。

バインド

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  bool reuseAddr
)

エンドポイントをインターフェース IP アドレスにバインドします。

指定されたネットワーク インターフェース IP アドレスにエンドポイントをバインドします。

詳細
パラメータ
[in] addrType
IP アドレスのプロトコル バージョン
[in] addr
IP アドレス(インターフェース アドレスである必要があります)
[in] port
TCP ポート
[in] reuseAddr
他のエンドポイントとバインディングを共有するオプションが
戻り値
INET_NO_ERROR
成功: アドレスにバインドされたエンドポイント
INET_ERROR_INCORRECT_STATE
すでにバインドされています。
INET_NO_MEMORY
エンドポイントのメモリが不足しています
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType」は「IPVer」と一致しません。
INET_ERROR_WRONG_ADDRESS_TYPE
addrTypekIPAddressType_Any であるか、addr の型が addrType と等しくない。
other
別のシステムまたはプラットフォームのエラーです

LwIP では、LwIP スタックロックがすでに取得されている状態でこのメソッドを呼び出すことはできません。

閉じる

INET_ERROR Close(
  void
)

TCP フルクローズを開始します。つまり、送信と受信の両方を終了します。

詳細
戻り値
INET_NO_ERROR
成功: アドレスとポートが抽出されました。
INET_ERROR_INCORRECT_STATE
TCP 接続が確立されていません。
other
別のシステムまたはプラットフォームのエラーです

交流

INET_ERROR Connect(
  IPAddress addr,
  uint16_t port,
  InterfaceId intf
)

TCP 接続を開始します。

 If possible, then this method initiates a TCP connection to the
 destination \c addr (with \c intf used as the scope
 identifier for IPv6 link-local destinations) and \c port.

詳細
パラメータ
[in] addr
宛先 IP アドレスと
[in] port
宛先 TCP ポート
[in] intf
ネットワーク インターフェース インジケーター
戻り値
INET_NO_ERROR
成功: msg は送信のキューに登録されています。
INET_ERROR_NOT_IMPLEMENTED
未完了の可能性があります。
INET_ERROR_WRONG_ADDRESS_TYPE
宛先アドレスとバインドされたインターフェース アドレスのプロトコル バージョンまたはアドレスタイプが一致していないか、宛先アドレスが IPv6 リンクローカル アドレスであり、intf が指定されていません。
other
別のシステムまたはプラットフォームのエラーです

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

TCP の「キープアライブ」オプションを無効にします。

TCPEndPoint::DisableKeepAlive

関連する TCP 接続で TCP キープアライブ プローブを無効にします。

詳細
戻り値
INET_NO_ERROR
成功: アドレスとポートが抽出されました。
INET_ERROR_INCORRECT_STATE
TCP 接続が確立されていません。
INET_ERROR_CONNECTION_ABORTED
TCP 接続が開かれなくなりました。
INET_ERROR_NOT_IMPLEMENTED
未完了の可能性があります。
other
別のシステムまたはプラットフォームのエラーです

注: このメソッドは、エンドポイントが接続状態のいずれかにある場合にのみ呼び出すことができます。エンドポイントでキープアライブが有効になっていない場合、このメソッドは何も行いません。

DisableReceive

void DisableReceive(
  void
)

受信を無効にします。

すべてのイベント ハンドラを無効にします。受信を無効にするエンドポイントに送信されたデータは、受信ウィンドウを使い切るまで確認応答されます。

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

TCP の「keep-alive」オプションを有効にする。

TCPEndPoint::EnableKeepAlive

interval 秒ごとに TCP の「キープアライブ」プローブ セグメントの自動送信を開始します。接続は、否定的なレスポンスを受信した後、または肯定的なレスポンスを受信せずに timeoutCount プローブ セグメントを送信した後、自動的に中止されます。

詳細
パラメータ
[in] interval
プローブ リクエスト間の時間(秒)。
[in] timeoutCount
タイムアウトまでに送信されるプローブの数。
戻り値
INET_NO_ERROR
成功: アドレスとポートが抽出されました。
INET_ERROR_INCORRECT_STATE
TCP 接続が確立されていません。
INET_ERROR_CONNECTION_ABORTED
TCP 接続が開かれなくなりました。
INET_ERROR_NOT_IMPLEMENTED
未完了の可能性があります。
other
別のシステムまたはプラットフォームのエラーです

仕様の詳細については、RFC 1122 のセクション 4.2.3.6 をご覧ください。

関連付けられた TCP 接続で TCP キープアライブ プローブを有効にします。

注: このメソッドは、エンドポイントが接続状態のいずれかにある場合にのみ呼び出すことができます。キープアライブ間隔またはタイムアウト数を調整するために、このメソッドを複数回呼び出すことができます。

詳細
パラメータ
interval
キープアライブ プローブの間隔(秒単位)。この値は、最後のデータパケットが送信されてから最初のキープアライブ プローブを送信するまでの時間も制御します。
timeoutCount
接続が失敗したとみなされるまでの未確認プローブの最大数。

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay。

TCPEndPoint::EnableNoDelay

TCP_NODELAY ソケット オプションを設定して、TCP の Nagle バッファリング アルゴリズムをオフにします。

EnableReceive

void EnableReceive(
  void
)

受信を有効にします。

すべてのイベント ハンドラを有効にする。受信を無効にするエンドポイントに送信されたデータは、受信ウィンドウを使い切るまで確認応答されます。

無料

void Free(
  void
)

TCP 完全クローズを開始(または続行)し、エラーを無視します。

オブジェクトは空きプールに戻され、残りのユーザー参照はすべて無効になります。

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

ローカル エンドポイントの IP アドレスと TCP ポートを抽出します。

どちらの引数にも NULL ポインタ値を使用しないでください。

詳細
パラメータ
[out] retAddr
ローカル エンドポイントの IP アドレス。
[out] retPort
ローカル エンドポイントの TCP ポート。
戻り値
INET_NO_ERROR
成功: アドレスとポートが抽出されました。
INET_ERROR_INCORRECT_STATE
TCP 接続が確立されていません。
INET_ERROR_CONNECTION_ABORTED
TCP 接続が開かれなくなりました。

GetPeerInfo

INET_ERROR GetPeerInfo(
  IPAddress *retAddr,
  uint16_t *retPort
) const 

リモート エンドポイントの IP アドレスと TCP ポートを抽出します。

どちらの引数にも NULL ポインタ値を使用しないでください。

詳細
パラメータ
[out] retAddr
リモート エンドポイントの IP アドレス。
[out] retPort
リモート エンドポイントの TCP ポート。
戻り値
INET_NO_ERROR
成功: アドレスとポートが抽出されました。
INET_ERROR_INCORRECT_STATE
TCP 接続が確立されていません。
INET_ERROR_CONNECTION_ABORTED
TCP 接続が開かれなくなりました。

IsConnected

bool IsConnected(
  void
) const 

TCP 接続が確立されているかどうかを抽出します。

読み上げる

INET_ERROR Listen(
  uint16_t backlog
)

TCP メッセージを受信するようにエンドポイントを準備します。

State がすでに kState_Listening の場合、オペレーションは実行されません。それ以外の場合は、StatekState_Listening に設定され、プラットフォームのセマンティクスに従って、TCP メッセージを受信する準備が整います。

詳細
パラメータ
[in] backlog
接続受け入れキューの最大深度
戻り値
INET_NO_ERROR
成功: エンドポイントがメッセージを受信する準備が整いました。
INET_ERROR_INCORRECT_STATE
リッスンします。

プラットフォームによっては、backlog 引数は使用されません(キューの深さは固定されており、一度に受け入れられる接続は 1 つだけです)。

LwIP システムでは、すでに取得済みの LwIP スタックロックでこのメソッドを呼び出してはならない

LogId

uint16_t LogId(
  void
)

エンドポイントの識別子を取得します。

詳細
戻り値
使用ログの不透明な一意の識別子を返します。

MarkActive

void MarkActive(
  void
)

アクティビティを記録します。つまり、アイドル タイマーをリセットします。

アイドル タイマーをゼロにリセットします。

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

未確認の受信データの長さを抽出します。

詳細
戻り値
AckReceive(uint16_t len) でまだ確認されていない受信キューのバイト数。

PendingSendLength

uint32_t PendingSendLength(
  void
)

最初の送信を待機しているデータの長さを抽出します。

詳細
戻り値
送信キュー内の未送信バイト数。

PutBackReceivedData

INET_ERROR PutBackReceivedData(
  Weave::System::PacketBuffer *data
)

メッセージ テキストを受信キューの先頭にプッシュします。

このメソッドは、データの未確認の部分を受信キューに戻すためにのみ、データ受信イベント ハンドラによって呼び出すことができます。呼び出し元がデータ受信イベント ハンドラのスコープ外にある場合、data がハンドラに提供された Weave::System::PacketBuffer でない場合、または data に以前の AckReceive(uint16_t len) メソッドの呼び出しによって確認されたバイトの後に残っている未確認部分が含まれていない場合、オペレーション セマンティクスは未定義です。

詳細
パラメータ
[out] data
プッシュするメッセージ テキスト。
戻り値
INET_NO_ERROR
成功: 受信が確認されました。
INET_ERROR_INCORRECT_STATE
TCP 接続が確立されていません。

送信

INET_ERROR Send(
  Weave::System::PacketBuffer *data,
  bool push
)

TCP 接続でメッセージ テキストを送信します。

Weave::System::PacketBuffer::Free メソッドは、送信が成功したかどうかにかかわらず、data 引数で呼び出されます。

詳細
パラメータ
[out] data
送信するメッセージ テキスト。
[out] push
true の場合は直ちに送信し、それ以外の場合はキューに送信します。
戻り値
INET_NO_ERROR
成功: アドレスとポートが抽出されました。
INET_ERROR_INCORRECT_STATE
TCP 接続が確立されていません。

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Connect が成功するかエラーを返すまでのタイムアウトを設定します。

詳細
パラメータ
[in] connTimeoutMsecs

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

TCP TCP_USER_TIMEOUT ソケット オプションを設定します。

TCPEndPoint::SetUserTimeout

値が 0 より大きい場合、TCP が対応する接続を強制的に閉じるまでに、送信されたデータが確認応答されないままとなる最長時間をミリ秒単位で指定します。このオプションの値を 0 に指定すると、TCP はシステムのデフォルトを使用します。詳しくは、RFC 5482 をご覧ください。

詳細
パラメータ
[in] userTimeoutMillis
Tcp ユーザー タイムアウト値(ミリ秒)。
戻り値
INET_NO_ERROR
成功: アドレスとポートが抽出されました。
INET_ERROR_NOT_IMPLEMENTED
未完了の可能性があります。
other
別のシステムまたはプラットフォームのエラーです

TCP ユーザー タイムアウト ソケット オプションを設定します。

値が 0 より大きい場合、TCP が対応する接続を強制的に閉じるまでに、送信されたデータが確認応答されないままとなる最長時間をミリ秒単位で指定します。このオプションの値を 0 に指定すると、TCP はシステムのデフォルトを使用します。詳しくは、RFC 5482 をご覧ください。

注: このメソッドは、エンドポイントが接続状態のいずれかにある場合にのみ呼び出すことができます。キープアライブ間隔またはタイムアウト数を調整するために、このメソッドを複数回呼び出すことができます。

シャットダウン

INET_ERROR Shutdown(
  void
)

TCP ハーフクローズを開始します。つまり、送信を終了します。

詳細
戻り値
INET_NO_ERROR
成功: アドレスとポートが抽出されました。
INET_ERROR_INCORRECT_STATE
TCP 接続が確立されていません。
other
別のシステムまたはプラットフォームのエラーです