Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
読み取り中…
検索中…
一致する文字列を見つけられません
alt::SocketLibrary クラス

WinSockを使用するAPIを集約したクラス [詳解]

#include <SocketLibrary.h>

alt::SocketLibrary の継承関係図
alt::WindowsLibrary alt::SocketBuilder alt::TcpConnector alt::UdpConnector

公開メンバ関数

APIENTRY SocketLibrary ()
 コンストラクタ
 
APIENTRY ~SocketLibrary ()
 デストラクタ
 
int APIENTRY Close ()
 ソケットが使用されていた場合、クローズします。
 
DWORD APIENTRY GetErrNo () const
 WinSock API呼び出し時にエラーとなった時、 エラーの詳細を返します。
 
BOOL APIENTRY SetKeepAliveValue (ULONG onoff, ULONG time, ULONG interval) const
 KeepAlive送出タイミング、間隔をセッション個別に設定します。
 
- 基底クラス alt::WindowsLibrary に属する継承公開メンバ関数
APIENTRY WindowsLibrary ()
 コンストラクタ
 
virtual APIENTRY ~WindowsLibrary ()
 デストラクタ
 
virtual DWORD APIENTRY GetErrNo () const
 WindowsAPIのエラー値を取得します。
 
virtual VOID APIENTRY SetErrNo ()
 WINAPIエラーの情報を設定します。
 

限定公開メンバ関数

int APIENTRY WSAIoctl (DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD dwInBuffer, LPVOID lpvOutBuffer, DWORD dwOutBuffer, LPDWORD lpdwBytesReturned, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) const
 

限定公開変数類

SOCKET _socket
 このクラスで管理するソケットオブジェクト
 
- 基底クラス alt::WindowsLibrary に属する継承限定公開変数類
DWORD _dwErrorNo
 

詳解

WinSockを使用するAPIを集約したクラス

SocketLibrary.h16 行目に定義があります。

構築子と解体子

◆ SocketLibrary()

SocketLibrary::SocketLibrary ( )

コンストラクタ

覚え書き
_socketを INVALID_SOCKET で初期化します。

SocketLibrary.cpp12 行目に定義があります。

参照先 _socket.

◆ ~SocketLibrary()

SocketLibrary::~SocketLibrary ( )

デストラクタ

覚え書き
管理しているソケットをクローズします。

SocketLibrary.cpp17 行目に定義があります。

参照先 Close().

関数詳解

◆ Close()

int SocketLibrary::Close ( )

ソケットが使用されていた場合、クローズします。

戻り値
ソケットクローズが成功したか否か。
戻り値
closesocket()の戻り値
成功(0)ソケットではない(WSAENOTSOCK)

WinSock APIの戻り値はネットで確認

SocketLibrary.cpp22 行目に定義があります。

参照先 _socket.

参照元 PerfCheck::ServerWorker::~ServerWorker(), alt::SocketBuilder::~SocketBuilder(), ~SocketLibrary(), PerfCheck::TcpClient::~TcpClient(), PerfCheck::TcpProxy::~TcpProxy(), PerfCheck::UdpController::~UdpController(), alt::SocketBuilder::CreateTcpConnector(), alt::SocketBuilder::CreateUdpConnector(), PerfCheck::TcpServer::Stop(), PerfCheck::TcpClient::Stop(), PerfCheck::UdpController::Stop(), WindowsLibraryTest::TEST_CLASS().

◆ GetErrNo()

DWORD SocketLibrary::GetErrNo ( ) const
virtual

◆ SetKeepAliveValue()

BOOL SocketLibrary::SetKeepAliveValue ( ULONG  onoff,
ULONG  time,
ULONG  interval 
) const

KeepAlive送出タイミング、間隔をセッション個別に設定します。

引数
[in]onoff(0:OFF 1:ON)
[in]time無通信となった時からKeepAlive送出開始までの時間(ミリ秒)
[in]interval切断検知後にリトライ送出する時のインターバル
戻り値
WinSock APIのエラー時のエラー番号
戻り値
DWORD詳細はネットで。

SetSockOption()で設定されるKeepAlive送出設定はレジストリの 設定値(既定値は2時間後)に従います。この関数により、KeepAlive の設定タイミングをセッション個別に設定することができます。

SocketLibrary.cpp40 行目に定義があります。

参照先 WSAIoctl().

参照元 PerfCheck::TcpServer::Invoke(), PerfCheck::TcpClient::Start().

◆ WSAIoctl()

int SocketLibrary::WSAIoctl ( DWORD  dwIoControlCode,
LPVOID  lpvInBuffer,
DWORD  dwInBuffer,
LPVOID  lpvOutBuffer,
DWORD  dwOutBuffer,
LPDWORD  lpdwBytesReturned,
LPWSAOVERLAPPED  lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE  lpCompletionRoutine 
) const
protected

SocketLibrary.cpp56 行目に定義があります。

参照先 _socket.

参照元 SetKeepAliveValue().

メンバ詳解

◆ _socket


このクラス詳解は次のファイルから抽出されました: