Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 腹板锁紧连接_Javascript_Websocket - Fatal编程技术网

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对数据量有限制,您可以一次性发送。