0

以下の方法でデータを websocket にフィードし、サーバーに送信します。

function sendData(source, images) {
    var data = {
            data_source: this.source,
            img: this.images
        };
    var Data = JSON.stringify({ type:'image', data: data });
    socket.send(Data);
}

function source1() {
    var source = camera1;
    var images = feed1;
    sendData(this.source, this.images);
}

function source2() {
    var source = camera2;
    var images = feed2;
    sendData(this.source, this.images);
}

button1.addEventListener('click', source1, false);
button2.addEventListener('click', source2, false);

ボタン 2 とスイッチ クリックを交互にクリックすると、source1 のフィードを停止するにはどうすればよいですか。

私の現在の練習では、ボタン 2 をクリックすると、source1 関数がまだ実行されています。これにより、反対側でレンダリングされた画像が 2 つの画像ソース間で反転します (適切な言葉ではないかもしれません。私の英語は苦手です)。最悪の場合、2 つのボタンのクリックを数回切り替えると、完全にクラッシュしました。

この問題を解決するにはどうすればよいですか?

ありがとうございました、

4

1 に答える 1

0

問題は受け取る側にあると思います。Websockets は、送信されるストリーミング データをバッファリングするための内部バッファを持つ TCP 上で実行されます。送信をどのように悪用しても、常に正しい順序で不正な形式で到着しません。

于 2013-07-02T12:30:57.890 に答える