如何closuresAngular 2/4 +和Socket.io中的websocket

我试图创build一个使用websockets的应用程序,但是遇到了可怕的“多重连接”问题,每次页面重新加载而不是closures并重新打开一个新的websocket,另一个连接只是添加到列表中。 我的问题是,如果有人知道从Angular 2/4 +closuresSocket.io websocket的最佳/正确的方式。 至于代码,这是我所拥有的: service.ts getUserSocket(userID: string): Observable<any> { return new Observable(_Observer => { // Setup the socket namespace subscription this.UserSocket = io(NTC_API_URL + `/user/${userID}`, { secure: true }); this.UserSocket.on('message', _Message => { console.log(_Message); }) }) } closeUserSocket() { this.UserSocket.disconnect(); this.UserSocket.close(); } component.ts ngOninit() { // Setup the User Socket this.UserSocket = this._UsersService.getUserSocket(this.currentUser.userID) […]

查看Slack合规性档案

我需要一些帮助来查看和search闲置的档案。 我有一个我试图通过的档案的zip文件(请参阅下面的详细信息)。 我发现这个项目并克隆它。 https://github.com/dting/slack-archive-viewer 。 我安装了节点和postgres。 我在文件夹slack-archive-viewer中创build了一个.env文件:具有以下细节: APP_SECRET= APP_SECRET ( I set this = to Client Secret listed in slack – to connect to the slack API) SLACK_ID =SLACK_ID ( I set this to the slack Client ID without quotes) SLACK_SECRET= SLACK_SECRET (i set this to the slack Verification Token ) DOMAIN = http://localhost:9000 这些设置是正确还是需要使用其他设置,我会在哪里find正确的设置? […]

npm开始在Windows机器上失败,但在Ubuntu的工作

我正在学习本教程https://edgecoders.com/graphql-learn-by-doing-part-1-of-3-9b04cadeacfa了解GraphQL的基础知识。 当我试图运行这个命令后,下面的整个过程npm start它在Windows上失败,但相同的命令正在我的Linux机器上工作。 任何人都可以在这里指出我在这里失去的东西吗? 错误是 npm ERR! Windows_NT 10.0.14393 npm ERR! argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules \\npm\\bin\\npm-cli.js" "start" npm ERR! node v6.11.1 npm ERR! npm v3.10.10 npm ERR! code ELIFECYCLE npm ERR! github-graphql-server@1.0.0 start: `babel-node –presets es2015 ./server.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the github-graphql-server@1.0.0 start script […]

我如何parsing大型tsv文件通过Nodejs JSON

我有一个370MB的文件。 我需要parsing,然后更新mongodb中的条目,我已经使用npm node-tsv-json.It适用于小文件,但不适合大one.It说致命错误:CALL_AND_RETRY_LAST分配失败 – JavaScript堆内存不足

服务器和客户端在socket.io中的“on”和“emmit”不同

我很难理解服务器何时“发送”数据,何时客户端“获取”数据,反之亦然。 代码是在他们的例子 在nodejs的index.js中 // server side var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); }); io.on('connection', function(socket){ console.log('a user connected'); // create chat message socket.on('chat message', function(msg){ io.emit('chat message', msg); console.log('message: ' + msg); }); socket.on('disconnect', function(){ console.log('user disconnected'); }); }); http.listen(3000, function(){ console.log('listening on […]

Gulp在我的macOS上没有成功运行

My Advanced Gulp Workflow for WordPress Themes 我正在学习本教程,并使用他在教程中提供的gulfile.js,但是当我安装 npm install 我收到了很多问题,所以我更新了文件。 但是当我实例化 glup 在我的macOSterminal,它给了我下面的错误,并拒绝成功运行命令。 [Browsersync] Serving files from: ./ [Browsersync] Watching files… [23:36:59] gulp-notify: [Gulp notification] Custom scripts task complete [23:36:59] Finished 'scriptsJs' after 388 ms [23:36:59] gulp-notify: [Gulp notification] Vendor scripts task complete [23:36:59] Finished 'vendorsJs' after 405 ms [23:36:59] Starting 'default'… [23:36:59] Finished […]

节点Mongo连接错误:连接4到xxx集群closures

我正在使用AWS Lambda – Nodejs开发应用程序,并使用Mongodb作为后端。 为了连接Mongodb,我使用了nodejs本地库mongodb 。 问题是,随机,Mongodb抛出错误“连接4到群集closures”。 我在Google上find了一些答案,但没有解决。 像一些要求添加keepalive等。如所build议的那样,当使用AWS Lambda时,保存数据库连接,我坚持这些准则。 这是连接到Mongodb的函数的片段。 var connectToDatabase = function(_callback){ var options ={ server: { socketOptions: {keepAlive: 1} }, poolSize:100, replset: { rs_name: 'voila-cluster-shard-0', socketOptions: {keepAlive: 1} } } MongoClient.connect(url,options,function(error,connection){ if(error){ console.log(error) _callback(error) } else{ client = connection _callback(null,client); } }) } 有人可以帮我在这里。

Passport-SAML:读取用户信息

还是小菜一碟! 我正在构build一个Node应用程序,并且我已经设置了各种所需的端点。 我的项目的一个要求是使用SAML机制进行身份validation。 我在我的应用程序中使用passport-SAML进行身份validation。 到目前为止,我已经能够设置和使用SAML策略,我的应用程序可以调用idp入口点,并从Idp接收回应。 我无法理解我们如何访问由idp返回的用户信息,以便我可以使用SAML返回的用户信息来创build和维护会话。 const saml = require('passport-saml'); module.exports = function (passport, config) { passport.serializeUser(function (user, done) { done(null, user); }); passport.deserializeUser(function (user, done) { done(null, user); }); var samlStrategyOptions = new saml.Strategy( { // URL that goes from the Identity Provider -> Service Provider callbackUrl: config.passport.saml.callback_url, // path: config.passport.saml.path, // URL that […]

Swagger,Express和Node.js中的“无法获取/”

我正在使用Swagger,Express和Node来定义和运行端点。 本地主机/文档上的GET请求返回所有相关的路由。 但是,当我尝试任何路由的GET请求时,它会返回一个“无法获取/ XXX” Index.js 'use strict'; var fs = require('fs'), path = require('path'), // Basic Setup new express http = require('http'), express = require('express'), mysql = require('mysql'), parser = require('body-parser'); var swaggerTools = require('swagger-tools'); var jsyaml = require('js-yaml'); // Setup express var app = express(); app.use(parser.json()); app.use(parser.urlencoded({ extended: true })); app.set('port', process.env.PORT || 5000); […]

使用无头铬来拦截图像请求数据

我有一个用例,需要使用无头Chrome浏览器( https://chromedevtools.github.io/devtools-protocol/tot/Network/ )截取所有的图片请求,并find图片的大小,然后保存它(基本上丢弃小图像,如图标)。 但是,我无法find一种方法来加载内存中的图像数据保存之前。 我需要加载它的Img对象来获得width和height 。 Network.getResponseBody采取requestId,我没有在Network.requestIntercepted访问。 另外Network.loadingFinished在encodedDataLengthvariables中总是给我“0”。 我不知道为什么。 所以我的问题是: 如何拦截来自jpg / png请求的所有响应并获取图像数据? 不通过URLstring将文件保存到磁盘并加载回来。 BEST:如何从标题响应获取图像维度? 然后,我不必将数据读入内存。 我的代码如下: const chromeLauncher = require('chrome-launcher'); const CDP = require('chrome-remote-interface'); const file = require('fs'); (async function() { async function launchChrome() { return await chromeLauncher.launch({ chromeFlags: [ '–disable-gpu', '–headless' ] }); } const chrome = await launchChrome(); const protocol = await […]