Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
|
ソケットに関するWindowsAPIを集約したクラス [詳解]
#include <SocketBuilder.h>
公開メンバ関数 | |
APIENTRY | SocketBuilder () |
コンストラクタ | |
APIENTRY | ~SocketBuilder () |
デストラクタ | |
BOOL | CancelWait () |
Wait()待機中のキャンセル処理 | |
TcpConnector *APIENTRY | CreateTcpConnector (LPCTSTR lpctszIpAddr, u_short portNo, int retryInterval, int retryCount) |
TcpConnectorの作成 | |
UdpConnector *APIENTRY | CreateUdpConnector (LPCTSTR lpctszIpAddr, u_short portNo) |
UdpConnectorの作成 | |
BOOL APIENTRY | GetHostByName (LPCTSTR lpctszHostName, LPCTSTR lptszIpAddr) const |
ホスト名からIPアドレスのDNS解決 | |
BOOL APIENTRY | Prepare (u_short portNo, LPCTSTR lpctszIpAddr=NULL) |
TCPポートのlisten(),accept()の準備 | |
int APIENTRY | Startup () |
Windowsソケットの使用準備 | |
TcpConnector *APIENTRY | Wait () |
TCP接続のlisten(),accept()待機関数 | |
![]() | |
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エラーの情報を設定します。 | |
限定公開メンバ関数 | |
BOOL APIENTRY | Bind () const |
BOOL APIENTRY | Connect () const |
BOOL APIENTRY | Ioctl (long cmd, u_long arg) const |
BOOL APIENTRY | Listen () const |
BOOL APIENTRY | SetSockAddr (ADDRESS_FAMILY family, u_short portNo, LPCTSTR lpctszAddress) |
BOOL APIENTRY | SetSockOpt (int level, int optname, int value) const |
BOOL APIENTRY | Socket (int af, int type, int protocol) |
![]() | |
int APIENTRY | WSAIoctl (DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD dwInBuffer, LPVOID lpvOutBuffer, DWORD dwOutBuffer, LPDWORD lpdwBytesReturned, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) const |
限定公開変数類 | |
SOCKADDR_IN | _SockAddrIn |
WSADATA | _wsaData |
WSAEVENT | _wsaEvent |
![]() | |
SOCKET | _socket |
このクラスで管理するソケットオブジェクト | |
![]() | |
DWORD | _dwErrorNo |
ソケットに関するWindowsAPIを集約したクラス
SocketBuilder.h の 17 行目に定義があります。
SocketBuilder::SocketBuilder | ( | ) |
SocketBuilder::~SocketBuilder | ( | ) |
|
protected |
SocketBuilder.cpp の 97 行目に定義があります。
BOOL SocketBuilder::CancelWait | ( | ) |
|
protected |
SocketBuilder.cpp の 83 行目に定義があります。
参照先 _SockAddrIn, alt::SocketLibrary::_socket.
参照元 CreateTcpConnector().
TcpConnector * SocketBuilder::CreateTcpConnector | ( | LPCTSTR | lpctszIpAddr, |
u_short | portNo, | ||
int | retryInterval, | ||
int | retryCount | ||
) |
TcpConnectorの作成
lpctszIpAddr | 設定する自身のIPアドレス |
portNo | 設定する自身のポート番号 |
retryInterval | リトライ間隔(ms) |
retryCount | リトライ回数 |
SocketBuilder.cpp の 169 行目に定義があります。
参照先 alt::SocketLibrary::_socket, alt::SocketLibrary::Close(), Connect(), alt::SocketLibrary::GetErrNo(), Ioctl(), SetSockAddr(), SetSockOpt(), Socket().
参照元 PerfCheck::TcpProxy::Init(), PerfCheck::TcpClient::Start(), WindowsLibraryTest::TEST_CLASS().
UdpConnector * SocketBuilder::CreateUdpConnector | ( | LPCTSTR | lpctszIpAddr, |
u_short | portNo | ||
) |
UdpConnectorの作成
lpctszIpAddr | 設定する自身のIPアドレス |
portNo | 設定する自身のポート番号 |
SocketBuilder.cpp の 138 行目に定義があります。
参照先 alt::SocketLibrary::_socket, Bind(), alt::SocketLibrary::Close(), SetSockAddr(), Socket().
参照元 PerfCheck::UdpController::Start(), WindowsLibraryTest::TEST_CLASS().
BOOL SocketBuilder::GetHostByName | ( | LPCTSTR | lpctszHostName, |
LPCTSTR | lptszIpAddr | ||
) | const |
ホスト名からIPアドレスのDNS解決
lpctszHostName | ホスト名 |
lptszIpAddr | DNS名前解決されたIPアドレス |
TRUE(成功) | |
FALSE(失敗) |
SocketBuilder.cpp の 371 行目に定義があります。
|
protected |
|
protected |
BOOL SocketBuilder::Prepare | ( | u_short | portNo, |
LPCTSTR | lpctszIpAddr = NULL |
||
) |
TCPポートのlisten(),accept()の準備
portNo | 待機ポート番号 |
lpctszIpAddr | 待機IPアドレス |
TRUE(成功) | |
FALSE(失敗) |
SocketBuilder.cpp の 231 行目に定義があります。
参照先 Bind(), Listen(), SetSockAddr(), SetSockOpt(), Socket().
参照元 PerfCheck::TcpProxy::Init(), PerfCheck::TcpServer::Init(), WindowsLibraryTest::TEST_CLASS().
|
protected |
SocketBuilder.cpp の 50 行目に定義があります。
参照先 _SockAddrIn.
|
protected |
SocketBuilder.cpp の 69 行目に定義があります。
|
protected |
SocketBuilder.cpp の 37 行目に定義があります。
int SocketBuilder::Startup | ( | ) |
Windowsソケットの使用準備
0(成功) | |
WSASYSNOTREADY | (基礎となるネットワーク・サブシステムが、ネットワーク通信の準備ができていません。) |
WSAVERNOTSUPPORTED | (要求された Windows ソケット サポートのバージョンは、この特定の Windows ソケット実装では提供されません。) |
WSAEINPROGRESS | (ブロッキング Windows ソケット 1.1 操作が進行中です。) |
WSAEPROCLIM | (Windows ソケットの実装でサポートされているタスクの数の制限に達しました。) |
WSAEFAULT | (lpWSAData パラメーターが有効なポインターではありません。) |
上記以外は不明なエラー |
SocketBuilder.cpp の 26 行目に定義があります。
参照先 _wsaData.
参照元 PerfCheck::TcpClient::Init(), PerfCheck::UdpController::Init(), PerfCheck::TcpProxy::Init(), PerfCheck::TcpServer::Init(), WindowsLibraryTest::TEST_CLASS().
TcpConnector * SocketBuilder::Wait | ( | ) |
TCP接続のlisten(),accept()待機関数
SocketBuilder.cpp の 287 行目に定義があります。
参照先 alt::SocketLibrary::_socket, _wsaEvent.
参照元 PerfCheck::TcpProxy::Init(), PerfCheck::TcpServer::Invoke(), WindowsLibraryTest::TEST_CLASS().
|
protected |
SocketBuilder.h の 92 行目に定義があります。
参照元 SocketBuilder(), Bind(), Connect(), SetSockAddr().
|
protected |
SocketBuilder.h の 93 行目に定義があります。
参照元 SocketBuilder(), Startup().
|
protected |
SocketBuilder.h の 94 行目に定義があります。
参照元 SocketBuilder(), CancelWait(), Wait().