TNB Library
|
拡張 Socket UPD 通信 [詳解]
#include <TnbSocketUdp.h>
クラス | |
struct | TDataHeader |
拡張 Socket UDP 通信データヘッダ. [詳解] | |
公開メンバ関数 | |
TDataHeader | AdjustDataHeader (const TDataHeader &h) const |
[取得] データヘッダ調整. [詳解] | |
bool | Broadcast (size_t dataSize, LPCVOID lpcvData) |
[設定] ブロードバンド送信指定 [詳解] | |
CSocketUdpEx (void) | |
コンストラクタ [詳解] | |
void | DisableReportViewer (void) |
[設定] レポートビュワー停止. [詳解] | |
const CSocketAddress & | GetAddressee (void) const |
[取得] 送信先アドレス取得. [詳解] | |
const CSocketAddress & | GetBaseAddress (void) const |
[取得] ベースアドレス取得. [詳解] | |
int | GetIdleInterval (void) const |
[取得] アイドルイベント間隔取得 [詳解] | |
virtual DWORD | GetInterfaceId (void) const |
[取得] インターフェースID取得 [詳解] | |
WORD | GetMaxDatagram (void) |
[取得] UDP送信最大サイズ取得. [詳解] | |
size_t | GetReceivedBufferSize (void) const |
[取得] 受信バッファサイズ取得. [詳解] | |
CThreadStatus & | GetReceiveThreadStatus (void) |
[参照] 受信スレッド状態参照. [詳解] | |
virtual DWORD | GetReportID (void) const |
[取得] コミュニケーションID. [詳解] | |
virtual CStr | GetReportName (void) const |
[取得] コミュニケーション名. [詳解] | |
SOCKET | GetSocket (void) const |
[取得] ソケット取得 [詳解] | |
virtual bool | IsAlive (void) const |
[確認] Aliveチェック. [詳解] | |
virtual bool | IsConnect (void) const |
[確認] 接続チェック. [詳解] | |
virtual bool | Lock (DWORD dwTime=INFINITE) const |
[排他] ロック [詳解] | |
virtual void | Purge (void) |
[設定] パージ. [詳解] | |
CThreadStatus & | ReferThreadStatus (void) |
[参照] 受信スレッド状態参照. [詳解] | |
virtual bool | Send (size_t dataSize, LPCVOID lpcvData) |
[実行] 送信 [詳解] | |
bool | SetAddressee (const CSocketAddress &address) |
[設定] 送信先アドレス指定 [詳解] | |
void | SetBaseAddress (const CSocketAddress &address) |
[設定] ベースアドレス設定. [詳解] | |
void | SetBroadcastPort (WORD portNo, DWORD address=INADDR_BROADCAST) |
[設定] ブロードバンド送信指定 [詳解] | |
virtual void | SetIdleEventMode (int iInterval=0) |
[設定] アイドルイベント設定 [詳解] | |
virtual void | SetListener (IReport::IListener *piCommListener=NULL) |
[登録] 共通 Listner 登録. [詳解] | |
bool | SetReceivedBufferSize (size_t size) |
[設定] 受信バッファサイズ設定. [詳解] | |
virtual void | SetSocketListener (IListener *piSocketListener) |
[設定] リスナー登録 [詳解] | |
virtual bool | Start (void) |
[実行] 開始 [詳解] | |
virtual void | Stop (void) |
[実行] 切断 [詳解] | |
virtual void | Unlock (void) const |
[排他] アンロック [詳解] | |
bool | WaitConnect (DWORD dwTime) const |
[確認] 接続待ち [詳解] | |
静的公開メンバ関数 | |
static CDwordVector | GetMyAddress (void) |
[取得] 自IPアドレス取得. [詳解] | |
static void | StartUp (void) |
[設定] SOCKET初期化. [詳解] | |
static bool | WakeupOnLan (const BYTE *pbMacAddr) |
[送信] Wake up on LAN [詳解] | |
限定公開メンバ関数 | |
bool | m_OnEvent (const CReportEvent &ev) |
[内部] コールバック通知実行 [詳解] | |
void | m_OnSend (size_t sizeData, LPCVOID lpcvData) |
[内部] 送信情報通知 [詳解] | |
void | ToViewer (LPCTSTR lpszText) |
[出力] 文字列出力. [詳解] | |
void | ToViewer (size_t sizeData, LPCVOID lpcvData) |
[出力] ダンプ出力. [詳解] | |
拡張 Socket UPD 通信
送受信データの先頭 6byte に TDataHeader (アドレス(IPアドレス、ポートNo))を含むようになります。 送信データ先頭の TDataHeader で、送信先を指定できます(0の場合、 SetAddressee() の指定通り)。 受信時、データ先頭に TDataHeader が格納されます。実際のデータは 6byte 目からになります。
他は CSocketUdp クラスと同じです。
TnbSocketUdp.h の 514 行目に定義があります。
CSocketUdpEx | ( | void | ) |
コンストラクタ
TnbSocketUdp.h の 576 行目に定義があります。
TDataHeader AdjustDataHeader | ( | const TDataHeader & | h | ) | const |
[取得] データヘッダ調整.
元データヘッダ内の IPアドレス、ポートNoが0の場合、本インスタンスで記憶している送信先の情報にしたものを返します。
h | 元データヘッダ |
TnbSocketUdp.h の 645 行目に定義があります。
bool Broadcast | ( | size_t | dataSize, |
LPCVOID | lpcvData | ||
) |
[設定] ブロードバンド送信指定
dataSize | データサイズ |
lpcvData | データ |
true | 成功 |
false | 失敗 |
TnbSocketUdp.h の 590 行目に定義があります。
|
inherited |
[設定] レポートビュワー停止.
本メソッドを使用すると、通信ログの出力を行いません。 デフォルトは、出力を行います(ただしビルドの設定にもよります)。
TnbAbstractReport.h の 150 行目に定義があります。
|
inherited |
[取得] 送信先アドレス取得.
SetAddressee() か SetBroadcastPort() で設定したアドレスが得られます。
TnbSocketUdp.h の 225 行目に定義があります。
|
inherited |
|
inherited |
|
virtualinherited |
|
inherited |
[取得] UDP送信最大サイズ取得.
TnbSocketUdp.h の 117 行目に定義があります。
|
staticinherited |
|
inherited |
|
inherited |
[参照] 受信スレッド状態参照.
スレッド状態の参照. |
TnbSocketUdp.h の 301 行目に定義があります。
|
virtualinherited |
[取得] コミュニケーションID.
TNBVIW_KIND_??? + PORT を返します。
IReportを実装しています。
TnbSocketUdp.h の 96 行目に定義があります。
|
virtualinherited |
|
inherited |
|
virtualinherited |
[確認] Aliveチェック.
Start() メソッドが実行されている状態か、チェックします。
true | 開始している。 |
false | 停止している。 |
IReportを実装しています。
TnbSocketUdp.h の 204 行目に定義があります。
|
virtualinherited |
[確認] 接続チェック.
true | 接続中。 |
false | 切断。 |
IReportを実装しています。
TnbSocketUdp.h の 215 行目に定義があります。
|
virtualinherited |
[排他] ロック
dwTime | 値は無視されます。 |
ISynchronizedを実装しています。
CSyncSectionExで再実装されています。
|
protectedinherited |
|
protectedinherited |
[内部] 送信情報通知
sizeData | 送信するデータ長。 |
lpcvData | 送信するデータ。 |
TnbAbstractReport.h の 163 行目に定義があります。
|
virtualinherited |
[設定] パージ.
通信のゴミを浄化
IReportを実装しています。
CBufferingReporter, CCommunicationReporterで再実装されています。
TnbAbstractReport.h の 117 行目に定義があります。
|
inherited |
|
virtual |
[実行] 送信
dataSize | データサイズ |
lpcvData | データ |
true | 成功 |
false | 失敗 |
CSocketUdpを再実装しています。
TnbSocketUdp.h の 621 行目に定義があります。
|
inherited |
[設定] 送信先アドレス指定
address | 相手のIPアドレス&ポートNo |
true | 成功。 |
false | 失敗(名前が解決できない) |
TnbSocketUdp.h の 237 行目に定義があります。
|
inherited |
[設定] ベースアドレス設定.
受信に使用する IP アドレス(INADDR_ANY でも可)、ポートNo を指定します。 ポートNo は UDP ヘッダの送信元ポートNoにも使われます。
address | アドレス |
TnbSocketUdp.h の 135 行目に定義があります。
|
inherited |
[設定] ブロードバンド送信指定
portNo | 送信先ポートNo |
address | アドレス。省略すると INADDR_BROADCAST |
TnbSocketUdp.h の 250 行目に定義があります。
|
virtualinherited |
[設定] アイドルイベント設定
iInterval | Idleイベントをあげる間隔を指定します。0なら、Idleイベントなし。 |
IReportを実装しています。
CBufferingReporter, CCommunicationReporterで再実装されています。
TnbAbstractReport.h の 90 行目に定義があります。
|
virtualinherited |
[登録] 共通 Listner 登録.
piCommListener | リスナー。省略すると解除になります。 |
IReportを実装しています。
CBufferingReporterで再実装されています。
TnbAbstractReport.h の 69 行目に定義があります。
|
inherited |
[設定] 受信バッファサイズ設定.
size | 受信バッファサイズ |
true | 成功。 |
false | 失敗。 Start していない、など。 |
TnbSocketUdp.h の 325 行目に定義があります。
|
virtualinherited |
[設定] リスナー登録
piSocketListener | リスナー |
TnbSocket.h の 466 行目に定義があります。
|
virtualinherited |
[実行] 開始
true | 成功。送受信可能。 |
false | 失敗。 |
IReportを実装しています。
TnbSocketUdp.h の 157 行目に定義があります。
|
staticinherited |
[設定] SOCKET初期化.
WSAStartup() コールします。すでにコールしている場合は、何もしません。
TnbSocket.h の 478 行目に定義があります。
|
virtualinherited |
|
protectedinherited |
|
protectedinherited |
|
virtualinherited |
|
inherited |
|
staticinherited |
[送信] Wake up on LAN
pbMacAddr | 6BYTEのMACアドレス。 |
true | 成功。 |
false | 失敗。 |
TnbSocketUdp.h の 345 行目に定義があります。