クライアント宛通信ソケット [詳細]
#include <PGClientSocket.h>
Public メソッド | |
PGClientSocket (SGStream *stream, SGFdDataList *list) | |
コンストラクタ | |
~PGClientSocket () | |
デストラクタ | |
virtual int | SendData (const SGString &json) |
JSON 文字列送信. | |
virtual int | OnReceive (struct sockaddr *addr, socklen_t addrlen) |
受信時コールバック関数 | |
virtual void | OnClose () |
クローズ時コールバック関数 | |
SGString & | GetSessionId () |
セッションIDの取得 | |
bool | CompareSessionId (const SGString &sessionid) |
セッションIDの確認 | |
bool | CompareDialogName (const SGString &dialogname) |
ダイアログ名の確認 | |
void | Authentication (const SGString sessionid) |
認証 | |
bool | DoCommand (const SGString &json) |
コマンド実行 | |
void | OnGetfile (SGString file, SGString date, SGString objectname) |
GETFILEコマンド受信通知. | |
Public 変数 | |
SGString | mDialogName |
カレントダイアログ名 |
クライアント宛通信ソケット
接続要求によって確立されたクライアントとの通信ソケットです。
PGClientSocket | ( | SGStream * | stream, | |
SGFdDataList * | list | |||
) |
コンストラクタ
stream | ログ出力先ストリーム | |
list | 入出力ディスクリプタリスト |
~PGClientSocket | ( | ) |
デストラクタ
int SendData | ( | const SGString & | json | ) | [virtual] |
int OnReceive | ( | struct sockaddr * | addr, | |
socklen_t | addrlen | |||
) | [virtual] |
void OnClose | ( | ) | [virtual] |
SGString & GetSessionId | ( | ) |
セッションIDの取得
セッションIDを取得します。
bool CompareSessionId | ( | const SGString & | sessionid | ) |
セッションIDの確認
指定のセッションIDがこのソケットのものとして有効か無効かを確認します。
true | このセッションIDはこのソケットのものとして有効です。 | |
false | このセッションIDはこのソケットのものとして無効です。 |
bool CompareDialogName | ( | const SGString & | dialogname | ) |
ダイアログ名の確認
指定のダイアログ名がこのソケットのものとして有効か無効かを確認します。
true | このダイアログ名はこのソケットのものとして有効です。 | |
false | このダイアログ名はこのソケットのものとして無効です。 |
void Authentication | ( | const SGString | sessionid | ) |
認証
このソケットにセッションIDを登録し「認証済み」状態とします。
sessionid | 認証確認済みのセッションID |
bool DoCommand | ( | const SGString & | json | ) |
コマンド実行
受信した JSON 文字列中にあるコマンドを解析して実行します。
json | JSON 文字列 |
GETFILEコマンド受信通知.
GETFILEコマンドを受信した時に呼び出されます。
パラメータの objectname は端末が PUTFILE コマンドを受信した時に通知するオブジェクト名がセットされています。
PUTFILE コマンドを送信する時、要素名「ObjectName」として付加します。
通常、サーバは GETFILE コマンドを受信すると、指定されたファイルを読込み、PUTFILE コマンドとして送信します。
例外として、ファイルがJSONでかつ、そのダイアログのリソースが既に読込まれている場合は、ファイルを読まずに保持している リソースを送信する場合がある為、対応のダイアログクラスの OnGetfile をコールし、処理をダイアログに任せます。
※DELETEやADD機能により、ファイルとリソースに差異がある場合があるので、ダイアログリソースは常に最新の状態を返す必要があります。
file | ファイル名 | |
date | 端末にあるファイルの日時 | |
objectname | 端末が PUTFILE コマンドを受信した時に通知するオブジェクト名 |
カレントダイアログ名