Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
読み取り中…
検索中…
一致する文字列を見つけられません
SocketLibrary.cpp
[詳解]
1// ----------------------------------------------------------------------------
6
7#include "pch.h"
8#include "SocketLibrary.h"
9
10using namespace alt;
11
13{
14 _socket = INVALID_SOCKET;
15}
16
18{
19 this->Close ();
20}
21
23{
24 int ret = 0;
25
26 if (_socket != INVALID_SOCKET)
27 {
28 ret = ::closesocket (_socket);
29 _socket = INVALID_SOCKET;
30 }
31
32 return ret;
33}
34
36{
37 return static_cast<DWORD>(::WSAGetLastError ());
38}
39
41 ULONG onoff, ULONG time, ULONG interval) const
42{
43 struct tcp_keepalive keepAlive = { 0, 0, 0 };
44 keepAlive.onoff = onoff;
45 keepAlive.keepalivetime = time;
46 keepAlive.keepaliveinterval = interval;
47 DWORD dwVal = 0;
48
49 int ret = this->WSAIoctl (
50 SIO_KEEPALIVE_VALS, &keepAlive, sizeof (keepAlive), NULL, 0, &dwVal,
51 NULL, NULL);
52
53 return ret == 0 ? TRUE : FALSE;
54}
55
57 DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD dwInBuffer,
58 LPVOID lpvOutBuffer, DWORD dwOutBuffer, LPDWORD lpdwBytesReturned,
59 LPWSAOVERLAPPED lpOverlapped,
60 LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) const
61{
62 return ::WSAIoctl (
63 _socket, dwIoControlCode, lpvInBuffer, dwInBuffer, lpvOutBuffer,
64 dwOutBuffer, lpdwBytesReturned, lpOverlapped, lpCompletionRoutine);
65}
ソケットに関するWindowsAPIを集約したクラス
プリコンパイル済みヘッダー ファイルです。
DWORD APIENTRY GetErrNo() const
WinSock API呼び出し時にエラーとなった時、 エラーの詳細を返します。
int APIENTRY Close()
ソケットが使用されていた場合、クローズします。
int APIENTRY WSAIoctl(DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD dwInBuffer, LPVOID lpvOutBuffer, DWORD dwOutBuffer, LPDWORD lpdwBytesReturned, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) const
SOCKET _socket
このクラスで管理するソケットオブジェクト
Definition: SocketLibrary.h:63
BOOL APIENTRY SetKeepAliveValue(ULONG onoff, ULONG time, ULONG interval) const
KeepAlive送出タイミング、間隔をセッション個別に設定します。
APIENTRY SocketLibrary()
コンストラクタ
APIENTRY ~SocketLibrary()
デストラクタ
Definition: DBLibrary.h:12