TNB Library
|
Socketサーバクラス [詳解]
#include <TnbSocket.h>
公開メンバ関数 | |
void | Close (void) |
[実行] サーバをクローズ [詳解] | |
CSocketServer (void) | |
コンストラクタ [詳解] | |
void | DisableReportViewer (void) |
[設定] レポートビュワー停止. [詳解] | |
void | Disconnect (SOCKET so) |
[実行] 指定ソケットの切断 [詳解] | |
void | Disconnect (void) |
[実行] 全ソケットの切断. [詳解] | |
INT_PTR | GetConnectedSockets (CSocketVector *P=NULL) const |
[取得] 接続ソケット一覧と数を取得 [詳解] | |
int | GetIdleInterval (void) const |
[取得] アイドルイベント間隔取得 [詳解] | |
virtual DWORD | GetInterfaceId (void) const |
[取得] インターフェースID取得 [詳解] | |
bool | GetPeerName (CSocketAddress &_address, SOCKET so) |
[取得] 指定ソケットの接続情報取得 [詳解] | |
virtual DWORD | GetReportID (void) const |
[取得] コミュニケーションID. [詳解] | |
virtual CStr | GetReportName (void) const |
[取得] コミュニケーション名. [詳解] | |
virtual bool | IsAlive (void) const |
[確認] Aliveチェック. [詳解] | |
bool | IsConnect (SOCKET so) const |
[確認] 指定ソケットの接続確認 [詳解] | |
virtual bool | IsConnect (void) const |
[確認] 接続チェック [詳解] | |
virtual bool | Lock (DWORD dwTime=INFINITE) const |
[排他] ロック [詳解] | |
bool | Open (const CSocketAddress &address) |
[実行] オープン. [詳解] | |
virtual void | Purge (void) |
[設定] パージ. [詳解] | |
CThreadStatus & | ReferThreadStatus (void) |
[参照] 受信スレッド状態参照. [詳解] | |
virtual bool | Send (size_t dataSize, LPCVOID lpcvData) |
[実行] 全部に送信. [詳解] | |
bool | Send (SOCKET so, size_t dataSize, LPCVOID lpcvData) |
[実行] データ送信 [詳解] | |
void | SetConnectMax (size_t max) |
[設定] 接続可能数. [詳解] | |
void | SetDelayMode (bool boIsDelay) |
[設定] 送信遅延モード設定 [詳解] | |
virtual void | SetIdleEventMode (int iInterval=0) |
[設定] アイドルイベント設定 [詳解] | |
virtual void | SetListener (IReport::IListener *piCommListener=NULL) |
[登録] 共通 Listner 登録. [詳解] | |
void | SetParameter (const CSocketAddress &address) |
[設定] サーバ設定 [詳解] | |
virtual void | SetSocketListener (IListener *piSocketListener) |
[設定] リスナー登録 [詳解] | |
virtual bool | Start (void) |
[実行] 開始. [詳解] | |
virtual void | Stop (void) |
[実行] サーバをクローズ [詳解] | |
virtual void | Unlock (void) const |
[排他] アンロック [詳解] | |
bool | WaitConnect (DWORD dwTime) const |
[確認] 接続待ち [詳解] | |
virtual | ~CSocketServer (void) |
デストラクタ [詳解] | |
静的公開メンバ関数 | |
static CDwordVector | GetMyAddress (void) |
[取得] 自IPアドレス取得. [詳解] | |
static void | StartUp (void) |
[設定] SOCKET初期化. [詳解] | |
限定公開メンバ関数 | |
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サーバクラス
サーバ用にソケットを用意します。 受信は CAbstractSocket::IListener のサブクラスを登録し行います。 ( IReport::IListener でも受信は出来ますが基本機能しかありません)
関連ウィンドウ
を指定する 必要があります。 CThread::SetOwnerHwnd() を参照してください。TnbSocket.h の 1258 行目に定義があります。
CSocketServer | ( | void | ) |
コンストラクタ
TnbSocket.h の 1264 行目に定義があります。
|
virtual |
デストラクタ
TnbSocket.h の 1270 行目に定義があります。
void Close | ( | void | ) |
[実行] サーバをクローズ
TnbSocket.h の 1513 行目に定義があります。
|
inherited |
[設定] レポートビュワー停止.
本メソッドを使用すると、通信ログの出力を行いません。 デフォルトは、出力を行います(ただしビルドの設定にもよります)。
TnbAbstractReport.h の 150 行目に定義があります。
void Disconnect | ( | SOCKET | so | ) |
void Disconnect | ( | void | ) |
INT_PTR GetConnectedSockets | ( | CSocketVector * | P = NULL | ) | const |
|
inherited |
|
virtualinherited |
|
staticinherited |
bool GetPeerName | ( | CSocketAddress & | _address, |
SOCKET | so | ||
) |
[取得] 指定ソケットの接続情報取得
[out] | _address | アドレス&ポート |
[in] | so | ソケット |
true | アドレスとポート取得成功。 |
false | 失敗。 |
TnbSocket.h の 1436 行目に定義があります。
|
virtual |
[取得] コミュニケーションID.
TNBVIW_KIND_??? + PORT を返します。
IReportを実装しています。
TnbSocket.h の 1302 行目に定義があります。
|
virtual |
|
virtual |
[確認] Aliveチェック.
Open() メソッドが実行されている状態か、チェックします。
true | 開始している。 |
false | 停止している。 |
IReportを実装しています。
TnbSocket.h の 1456 行目に定義があります。
bool IsConnect | ( | SOCKET | so | ) | const |
|
virtual |
|
virtualinherited |
[排他] ロック
dwTime | 値は無視されます。 |
ISynchronizedを実装しています。
CSyncSectionExで再実装されています。
|
protectedinherited |
|
protectedinherited |
[内部] 送信情報通知
sizeData | 送信するデータ長。 |
lpcvData | 送信するデータ。 |
TnbAbstractReport.h の 163 行目に定義があります。
bool Open | ( | const CSocketAddress & | address | ) |
[実行] オープン.
サーバをオープンし通信を開始します。
address | ポートNO&待ち受けるアドレス。 |
true | 成功 |
false | 失敗 |
TnbSocket.h の 1377 行目に定義があります。
|
virtualinherited |
[設定] パージ.
通信のゴミを浄化
IReportを実装しています。
CBufferingReporter, CCommunicationReporterで再実装されています。
TnbAbstractReport.h の 117 行目に定義があります。
CThreadStatus & ReferThreadStatus | ( | void | ) |
|
virtual |
[実行] 全部に送信.
接続しているすべてに送信します。
dataSize | データサイズ |
lpcvData | データ |
true | 成功 |
false | 失敗 |
IReportを実装しています。
TnbSocket.h の 1479 行目に定義があります。
bool Send | ( | SOCKET | so, |
size_t | dataSize, | ||
LPCVOID | lpcvData | ||
) |
void SetConnectMax | ( | size_t | max | ) |
[設定] 接続可能数.
一つのサーバに接続できる数を制限します。 デフォルトは一つです。
max | 接続可能数 |
TnbSocket.h の 1315 行目に定義があります。
void SetDelayMode | ( | bool | boIsDelay | ) |
[設定] 送信遅延モード設定
boIsDelay | trueなら遅延送信。falseなら即送信。 |
TnbSocket.h の 1281 行目に定義があります。
|
virtualinherited |
[設定] アイドルイベント設定
iInterval | Idleイベントをあげる間隔を指定します。0なら、Idleイベントなし。 |
IReportを実装しています。
CBufferingReporter, CCommunicationReporterで再実装されています。
TnbAbstractReport.h の 90 行目に定義があります。
|
virtualinherited |
[登録] 共通 Listner 登録.
piCommListener | リスナー。省略すると解除になります。 |
IReportを実装しています。
CBufferingReporterで再実装されています。
TnbAbstractReport.h の 69 行目に定義があります。
void SetParameter | ( | const CSocketAddress & | address | ) |
|
virtualinherited |
[設定] リスナー登録
piSocketListener | リスナー |
TnbSocket.h の 466 行目に定義があります。
|
virtual |
[実行] 開始.
サーバをオープンし通信を開始します。
true | 成功 |
false | 失敗 |
IReportを実装しています。
TnbSocket.h の 1342 行目に定義があります。
|
staticinherited |
[設定] SOCKET初期化.
WSAStartup() コールします。すでにコールしている場合は、何もしません。
TnbSocket.h の 478 行目に定義があります。
|
virtual |
|
protectedinherited |
|
protectedinherited |
|
virtualinherited |
|
inherited |