TNB Library
公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
CSocketEvent クラス

Socket共通受信イベント管理クラス [詳解]

#include <TnbSocket.h>

+ CSocketEvent の継承関係図

公開メンバ関数

 CSocketEvent (CAbstractSocket *pcSocket, SOCKET so, EReportEvent eEvent=ReportEvent_Non, DWORD dwError=0)
 コンストラクタ [詳解]
 
const BYTE * GetData (void) const
 [取得] データアドレス取得 [詳解]
 
size_t GetDataSize (void) const
 [取得] データ長取得 [詳解]
 
DWORD GetErrorCode (void) const
 [取得] エラーコード取得 [詳解]
 
EReportEvent GetEvent (void) const
 [取得] イベントコード取得 [詳解]
 
CStr GetEventString (void) const
 [取得] イベントコード文字列取得 [詳解]
 
virtual DWORD GetInterfaceId (void) const
 [取得] インターフェースID取得 [詳解]
 
bool GetPeerName (CSocketAddress &_address) const
 [取得] 送信元情報取得 [詳解]
 
SOCKET GetSocket (void) const
 [取得] ソケット取得 [詳解]
 
bool GetSockName (CSocketAddress &_address) const
 [取得] 受信側情報取得 [詳解]
 
bool HasData (void) const
 [確認] Dataを持っているか [詳解]
 
bool HasEvent (void) const
 [確認] Event(Error)を持っている [詳解]
 
virtual bool Send (size_t dataSize, LPCVOID lpcvData) const
 [送信] データ送信 [詳解]
 
void SetData (size_t dataSize, LPCVOID lpcData)
 [設定] データ設定. [詳解]
 

限定公開変数類

IReportm_piReport
 Report Objectの参照 [詳解]
 

詳解

Socket共通受信イベント管理クラス

リスナーの OnSocketEvent() メソッドで通知される情報です。
データ(長さとアドレス)かイベントのいずれかを保持します。
参照
CAbstractSocket::IListener::OnSocketEvent()
必要ファイル
TnbSocket.h
日付
06/04/01 新規作成
06/07/07 InterfaceID概念、追加
09/08/27 アドレス指定に CSocketAddress を使うように変更。
11/06/14 GetInterfaceId() メソッドの戻り値変更。

TnbSocket.h321 行目に定義があります。

構築子と解体子

◆ CSocketEvent()

CSocketEvent ( CAbstractSocket pcSocket,
SOCKET  so,
EReportEvent  eEvent = ReportEvent_Non,
DWORD  dwError = 0 
)

コンストラクタ

引数
pcSocketソケットクラスのポインタ
soソケット
eEventイベントコード(省略可能)
dwErrorエラーコード(省略可能)

TnbSocket.h772 行目に定義があります。

関数詳解

◆ GetData()

const BYTE * GetData ( void  ) const
inherited

[取得] データアドレス取得

戻り値
保持しているデータアドレス

TnbReport.h148 行目に定義があります。

◆ GetDataSize()

size_t GetDataSize ( void  ) const
inherited

[取得] データ長取得

戻り値
保持しているデータ長

TnbReport.h139 行目に定義があります。

◆ GetErrorCode()

DWORD GetErrorCode ( void  ) const
inherited

[取得] エラーコード取得

戻り値
保持しているエラーコード

TnbReport.h166 行目に定義があります。

◆ GetEvent()

EReportEvent GetEvent ( void  ) const
inherited

[取得] イベントコード取得

戻り値
保持しているイベントコード

TnbReport.h157 行目に定義があります。

◆ GetEventString()

CStr GetEventString ( void  ) const
inherited

[取得] イベントコード文字列取得

戻り値
保持しているイベントコードを文字列化したもの

TnbReport.h179 行目に定義があります。

◆ GetInterfaceId()

virtual DWORD GetInterfaceId ( void  ) const
virtual

[取得] インターフェースID取得

覚え書き
自動的に値が決められてしまいますが、一つの接続中、値が変わることは有りません。 別の接続と値が重複することも有りません。
Socket 系では、インターフェースIDは、ユーザは指定できません。 SOCKET ハンドル + 0x80000000の値になります。
戻り値
ID

CReportEventを再実装しています。

TnbSocket.h355 行目に定義があります。

◆ GetPeerName()

bool GetPeerName ( CSocketAddress _address) const

[取得] 送信元情報取得

覚え書き
Dataを持っている場合、送信した相手の情報を得ることが出来ます。
引数
[out]_addressアドレス
戻り値
trueアドレスとポート取得成功。
false失敗。

TnbSocket.h787 行目に定義があります。

◆ GetSocket()

SOCKET GetSocket ( void  ) const

[取得] ソケット取得

戻り値
ソケット

TnbSocket.h381 行目に定義があります。

◆ GetSockName()

bool GetSockName ( CSocketAddress _address) const

[取得] 受信側情報取得

引数
[out]_addressアドレス
戻り値
trueアドレスとポート取得成功。
false失敗。

TnbSocket.h793 行目に定義があります。

◆ HasData()

bool HasData ( void  ) const
inherited

[確認] Dataを持っているか

戻り値
trueDataを持っている
false持っていない

TnbReport.h120 行目に定義があります。

◆ HasEvent()

bool HasEvent ( void  ) const
inherited

[確認] Event(Error)を持っている

戻り値
trueEvent(Error)を持っている
false持っていない

TnbReport.h130 行目に定義があります。

◆ Send()

bool Send ( size_t  dataSize,
LPCVOID  lpcvData 
) const
virtual

[送信] データ送信

覚え書き
送信元にデータを送信します。
引数
dataSize送信するデータ長。
lpcvData送信するデータ。
戻り値
true成功。
false失敗。

CReportEventを再実装しています。

TnbSocket.h780 行目に定義があります。

◆ SetData()

void SetData ( size_t  dataSize,
LPCVOID  lpcData 
)
inherited

[設定] データ設定.

覚え書き
ポインタは参照のみで、実体は本インスタンスで保持しません。
引数
dataSizeデータ長
lpcDataデータアドレス

TnbReport.h200 行目に定義があります。

メンバ詳解

◆ m_piReport

IReport* m_piReport
mutableprotectedinherited

Report Objectの参照

TnbReport.h79 行目に定義があります。