Javascript 如何停止向websocket发送数据的函数,并通过单击按钮交替切换到另一个函数
我将数据馈送到websocket,并使用以下方法将其发送到服务器:Javascript 如何停止向websocket发送数据的函数,并通过单击按钮交替切换到另一个函数,javascript,function,websocket,Javascript,Function,Websocket,我将数据馈送到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 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仍在运行。它会导致另一端渲染的图像在两个图像源之间翻转(可能不是正确的单词,我的英语不好)。最糟糕的是,当我在两个按钮之间切换点击次数时,它完全崩溃了
我如何解决这个问题
谢谢你,我认为问题出在收件人方面。Websockets通过TCP运行,TCP有一个内部缓冲区,用于缓冲正在发送的流数据。无论您如何滥用发送,它们都将以正确的顺序到达,并且不会出现错误。我在另一端呈现图像的代码只是'image.src=msg.data.img'。如何删除以前收到的数据。看起来像是缓存图像,因为它停止移动。但是所有来源的图像切换太快了,这是不对的。当我检测到数据传输到服务器时,它仍然交替地从两个源接收数据。