最近のアクセス:
Client.Socket 外部オブジェクト

クライアントからの接続と WebSocket サーバーとの双方向接続を確立し、リアルタイムで効率良くデータを交換できるようにします。
GeneXus を使用してアプリケーションとサーバーを作成すると、GeneXus は WebSocket 経由のサーバー接続を自動で設定するほか、クライアントアプリケーションの接続の管理と接続の解除を行います。接続が失われた場合や問題が発生した場合、GeneXus は接続を再確立しようとします。しかし、実装での必要に応じて、Open メソッドと Close メソッドを使用します。このメソッドを使用すると、GeneXus で生成していない WebSocket サーバーとの接続を確立したり、接続を解除したりできます。
操作は Server.Socket 外部オブジェクトと似ており、 [ Web Notification ] 設定の各種プロパティノードで設定したプロシージャーを使用して、Send、Open、Close のイベントがサーバー側でリッスンされます。詳細については、「外部アプリケーションから通知メッセージを受信し、処理する方法」を参照してください。
イメージ:41300.png
イメージ:41301.png

プロパティ

[ Status ] プロパティ

接続の値を返します (Connected (接続) または Disconnected (切断))。読み取り専用です。

メソッド

Open メソッド

指定されたサーバーとの接続を確立します。
戻り値
なし
パラメーター
Url:Character()

Close メソッド

接続したサーバーとの接続を解除します。
戻り値
なし
パラメーター
なし

Send メソッド

接続中のサーバーにメッセージを送信します。
戻り値
なし
パラメーター
Msg:Character()

イベント

Connected イベント

Open メソッドを実行した後、接続が正常に確立されるとトリガーされます。
入力
なし
出力
なし
ConnectionFailed イベント
Close メソッドを実行した後、何らかの理由により接続がエラーになったり接続が失われたりするとトリガーされます。
入力
なし
出力
なし
MessageReceived
メッセージを受信するとトリガーされます。JSON で受信する文字列データです。DeviceID と受信したメッセージを渡します。
入力
なし
出力
Msg:Character()

以下は、基本的な WebSocket 経由でのチャットを実装する簡単な例です。
まず、Chat という名のトランザクションを使用して、メッセージのコンテンツと送信日時を格納します。
トランザクションのサンプル:
イメージ:41552.png
Panel for Smart Devices を作成します。受信したメッセージを表示するために、項目属性を含むグリッドを追加します。SentMessage という名前の VarChar(200) タイプの変数をドラッグし、Send という名前のボタンを追加します。最後に、このボタンタイプのイベントに次のコードを記入します:
Event 'Send'
        GeneXus.Client.Socket.Send(&SentMessage)
Endevent
レイアウトのサンプル:
イメージ:41553.png
次のコードを使用して Sender という名前のプロシージャーを作成します。
&Chat                          = New()
&Chat.ChatMessage              = &NotificationInfo.message
&Chat.ChatMessageDateTime      = NOW()
&Chat.Save()
Commit

&ServerSocket.Broadcast(&NotificationInfo)
このコードを使用して、DB に新しいメッセージを追加します。次に、メッセージの送信者に関係なく、ブロードキャストして接続中の全ユーザーのグリッドビューを更新します。
注: このプロシージャーの設定方法の詳細については、「外部アプリケーションから通知メッセージを受信し、処理する方法」の「Received Handler」のセクションを参照してください。
最後に、Panel for Smart Devices で、Refresh を実行する MessageReceived イベントを作成します。
Event Client.Socket.MessageReceived(&Message)
  Refresh
EndEvent
実装の一例
イメージ:41361.gif


サブページ
Created: 20/01/09 22:45 by Admin Last update: 22/03/14 00:45 by Admin
カテゴリ
Powered by GXwiki 3.0