WebSocketListenerクラス

 

Biz/Browser V LTS 1.1.0

Object

 

 

 

 

 

 

 

SocketListener

 

 

 

 

 

 

 

WebSocketListener

 

 

WebSocketサーバを作成して、受信待機します。

WebSocketListenerオブジェクトを作成し、Startメソッドを呼び出すと、WebSocketの待ち受け状態となります。

Startメソッドの呼び出しでportが既にコンピュータ上で利用されていた場合、エラーとなり例外が発生しソケットの待ち受けは中止されます。

 

Startメソッドで待機中のサーバソケットにクライアントソケットから接続が確立した際に、Acceptイベントが発生します。

クライアントから接続されると子オブジェクトとして WebSocket オブジェクトを生成されます。

このWebSocketListenerオブジェクトの配下に生成されたWebSocketオブジェクトを使用して、クライアントからのデータ受信、クライアントへのデータ送信を行います。

 

デフォルトプロパティとValueType

 

デフォルトプロパティはValueです。ValueTypeにはString、Number、Fixed、Date、UStringを指定できます。

 

プロパティ | メソッド | イベント

 

サンプル

 

WebSocketListenerサンプル

Form WebSocketListener{
    X = 0;
    Y = 0;
    Width = 733;
    Height = 569;
    string sname;
    WebSocketListener sock_listener {
        Function OnAccept(e) {
            /* e.socketには接続によって生成されたWebSocketオブジェクトへの参照が格納されます。*/
            var obj = e.socket;
            /* 接続によって生成されたWebSocketオブジェクトのオブジェクト名を取得します。*/
            WebSocketListener.sname = obj.name;
        }
        /* 接続によって生成されたWebSocketオブジェクトは自動的に子オブジェクトとしてWebSocketListnerオブジェクトに接続されます。 */
        /* 生成されたWebSocketにデータが着信しReceiveイベントが発生した場合、親オブジェクトであるWebSocketListenerにイベントが伝搬します。 */
        /* そのためWebSocketListerオブジェクトにReceiveイベントのイベントハンドラを記述することで、クライアントからの受信処理を実装できます。 */
        Function OnReceive(e) {
            var data = e.from.Read(256);
            //.MessageBox(data);
        }
    }
    Button btnStart {
        X = 214;
        Y = 86;
        Width = 98;
        Height = 27;
        Title = "Start";
        Function OnTouch( e ) {
            try {
                /* ソケットの受信待機を開始します。 */
                if (^.sock_listener.Start(443)) {
                    //.MessageBox("受信待機を開始します");
                } else {
                    //.MessageBox("Startできませんでした");
                }
            } catch(e) {
                ^.sock_listener.Stop();
                MessageBox(str(e.Message));
            }
        }
    }
    Button btnStop {
        X = 314;
        Y = 86;
        Width = 98;
        Height = 27;
        Title = "Stop";
        Function OnTouch( e ) {
            try {
                /* ソケットの受信待機を停止します。 */
                ^.sock_listener.Stop();
            } catch(e) {
                MessageBox(str(e.Message));
            }
        }
    }
    Button btnWrite {
        X = 199;
        Y = 188;
        Width = 117;
        Height = 29;
        Title = "送信(Write)";
        TabIndex = 2;
        Function OnTouch( e ) {
            try {
                /* クライアントからの接続によって生成されたWebSocketオブジェクトをオブジェクト名で検索します。*/
                var sock = ^.sock_listener.FindObject(WebSocketListener.sname);
                if (sock != null) {
                    /* 検索されたWebSocketオブジェクトを使用して、クライアントへデータ送信を行います。 */
                    sock.Write("AAAAAAAAAAA");
                }
            } catch(e) {
                MessageBox(str(e.Message));
            }
        }
    }
}

 

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る