|
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送出タイミング、間隔をセッション個別に設定します。 | |
基底クラス 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.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項目).