|
TNB Library
|
Socketサーバクラス [詳解]
#include <TnbSocket.h>
CSocketServer の継承関係図公開メンバ関数 | |
| 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 |