Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
|
WinSockを使用するAPIを集約したクラス [詳解]
#include <SocketLibrary.h>
公開メンバ関数 | |
APIENTRY | SocketLibrary () |
コンストラクタ | |
APIENTRY | ~SocketLibrary () |
デストラクタ | |
int APIENTRY | Close () |
ソケットが使用されていた場合、クローズします。 | |
DWORD APIENTRY | GetErrNo () const |
WinSock API呼び出し時にエラーとなった時、 エラーの詳細を返します。 | |
BOOL APIENTRY | SetKeepAliveValue (ULONG onoff, ULONG time, ULONG interval) const |
KeepAlive送出タイミング、間隔をセッション個別に設定します。 | |
![]() | |
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 |
このクラスで管理するソケットオブジェクト | |
![]() | |
DWORD | _dwErrorNo |
WinSockを使用するAPIを集約したクラス
SocketLibrary.h の 16 行目に定義があります。
SocketLibrary::SocketLibrary | ( | ) |
SocketLibrary::~SocketLibrary | ( | ) |
int SocketLibrary::Close | ( | ) |
ソケットが使用されていた場合、クローズします。
closesocket()の戻り値 | |
成功(0) | ソケットではない(WSAENOTSOCK) |
WinSock APIの戻り値はネットで確認
SocketLibrary.cpp の 22 行目に定義があります。
参照先 _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().
|
virtual |
WinSock API呼び出し時にエラーとなった時、 エラーの詳細を返します。
DWORD | 詳細はネットで。 |
WSAGetLastError()を使用します。
alt::WindowsLibraryを再実装しています。
SocketLibrary.cpp の 35 行目に定義があります。
参照元 alt::SocketBuilder::CreateTcpConnector(), PerfCheck::ServerWorker::Invoke(), PerfCheck::TcpServer::Invoke(), PerfCheck::TcpClient::Invoke(), PerfCheck::UpstreamDriver::Invoke(), PerfCheck::DownstreamDriver::Invoke(), PerfCheck::UdpController::Invoke(), alt::TcpConnector::Recv(), PerfCheck::TcpClient::Start(), PerfCheck::UdpController::Start(), WindowsLibraryTest::TEST_CLASS().
BOOL SocketLibrary::SetKeepAliveValue | ( | ULONG | onoff, |
ULONG | time, | ||
ULONG | interval | ||
) | const |
KeepAlive送出タイミング、間隔をセッション個別に設定します。
[in] | onoff | (0:OFF 1:ON) |
[in] | time | 無通信となった時からKeepAlive送出開始までの時間(ミリ秒) |
[in] | interval | 切断検知後にリトライ送出する時のインターバル |
DWORD | 詳細はネットで。 |
SetSockOption()で設定されるKeepAlive送出設定はレジストリの 設定値(既定値は2時間後)に従います。この関数により、KeepAlive の設定タイミングをセッション個別に設定することができます。
SocketLibrary.cpp の 40 行目に定義があります。
参照先 WSAIoctl().
参照元 PerfCheck::TcpServer::Invoke(), PerfCheck::TcpClient::Start().
|
protected |
|
protected |
このクラスで管理するソケットオブジェクト
SocketLibrary.h の 63 行目に定義があります。
参照元 SocketLibrary(), alt::TcpConnector::TcpConnector(), alt::UdpConnector::UdpConnector(), alt::SocketBuilder::Bind(), Close(), alt::SocketBuilder::Connect(), alt::SocketBuilder::CreateTcpConnector(), alt::SocketBuilder::CreateUdpConnector(), alt::SocketBuilder::Ioctl(), alt::SocketBuilder::Listen(), alt::UdpConnector::Recv(), alt::TcpConnector::Recv(), alt::TcpConnector::Send(), alt::UdpConnector::Send(), alt::SocketBuilder::SetSockOpt(), alt::SocketBuilder::Socket(), alt::SocketBuilder::Wait(), WSAIoctl() (計18項目).