|
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()待機関数 | |
基底クラス alt::SocketLibrary に属する継承公開メンバ関数 | |
| 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エラーの情報を設定します。 | |
限定公開メンバ関数 | |
| 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) |
基底クラス alt::SocketLibrary に属する継承限定公開メンバ関数 | |
| 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 |
基底クラス alt::SocketLibrary に属する継承限定公開変数類 | |
| SOCKET | _socket |
| このクラスで管理するソケットオブジェクト | |
基底クラス alt::WindowsLibrary に属する継承限定公開変数類 | |
| 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().