Javascript 腹板锁紧连接
我的剧本:Javascript 腹板锁紧连接,javascript,websocket,Javascript,Websocket,我的剧本: var srgt_socket = false; var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); var video = document.getElementById('video'); window.srgt_socket = new WebSocket("ws://185.
var srgt_socket = false;
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var video = document.getElementById('video');
window.srgt_socket = new WebSocket("ws://185.25.150.192:1987");
window.srgt_socket.addEventListener('open', function (event) {
window.srgt_socket.send('Hello Server!');
start_send();
});
window.srgt_socket.addEventListener('close', function (event) {
console.log('closing');
});
function start_send() {
var mediaConfig = { video: true };
var errBack = function(e) {
console.log('An error has occurred!', e)
};
// Put video listeners into place
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia(mediaConfig).then(function(stream) {
video.src = window.URL.createObjectURL(stream);
video.play();
});
}
/* Legacy code below! */
else if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(mediaConfig, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(mediaConfig, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
} else if(navigator.mozGetUserMedia) { // Mozilla-prefixed
navigator.mozGetUserMedia(mediaConfig, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}
setInterval(function(){
context.drawImage(video, 0, 0, 320, 100);
let canvas = document.getElementById('canvas');
let img = document.getElementById('img');
img.src = canvas.toDataURL("image/png");
let data = {
src : canvas.toDataURL("image/png"),
}
window.srgt_socket.send(JSON.stringify(data));
}, 33);
}
我正在使用websocket。在服务器端,我使用node.js。我不知道为什么连接会在一段时间后关闭(它会工作几秒钟)。发送数据,然后关闭连接。我正在本地主机上运行此脚本。您已经排除了该问题是由服务器上的某些内容引起的?Serwer会向其他客户端发送消息。简单的文字信息,运行通过onclick事件运行只是顺利没有大惊小怪。但当我捕获视频帧并将其发送回服务器时,一段时间后,连接关闭。我想,我可能会用完conext。也许这就是connetion被报告为关闭的原因。看起来webbrowser对数据量有限制,您可以一次性发送。