草庐IT

auth_socket

全部标签

javascript - 如何从我的 Express 4 路由中使用 socket.io 向连接的套接字发送事件?

这是其他人问过的问题,但由于我的Express设置不同,我无法从他们给出的答案中受益。我已经实现了socket.io,并在我的服务器上以一种简单的方式工作。这是它的工作原理:在bin/www中:#!/usr/bin/envnodevardebug=require('debug')('gokibitz');varapp=require('../../server');app.set('port',process.env.PORT||3000);varserver=app.listen(app.get('port'),function(){debug('Expressserverliste

javascript - socket.io 在 x 秒/第一次尝试获取响应失败后停止重新发出事件

我注意到每当我的服务器离线时,当我将其切换回在线时,它会收到大量套接字事件,这些事件是在服务器关闭时触发的。(现在已经过时的事件)。有没有办法阻止socket.io在x秒内未收到响应后重新发出事件? 最佳答案 当开源库的所有其他方法都失败时,您可以去研究代码,看看您能找出什么。在花了一些时间使用socket.io源代码之后...问题的关键似乎是这段代码here在socket.emit()中:if(this.connected){this.packet(packet);}else{this.sendBuffer.push(packet

javascript - 在 ("message"上定义 Socket.io 的最有效方法)处理程序

Socket.io的例子都遵循这个模式io.sockets.on("connection",function(mySocket){mySocket.on("mymessage",function(myData){...});});在我看来,这将为每个连接创建一个新的回调函数。假设每个套接字都以相同的方式响应消息,像这样为所有套接字定义一次处理程序是否会更节省内存:functionmyMessageHandler(data){...}io.sockets.on("connection",function(mySocket){mySocket.on("mymessage",myMessag

javascript - 使用 socket.io 的内存泄漏

我发现当手动断开套接字时,套接字并没有在套接字io服务器端被完全破坏。我找到了thistopicongithub有用。当我在寻找一些阻止GC清理套接字的变量链接时,我在这里问一个问题。如果这里有人遇到同样的问题,这会很有帮助。无效的代码:socket.on('disconnect',function(){socket.removeAllListeners();});///...................socket.disconnect();但是,使用受限库字段的解决方法:deleteio.sockets[url];io.j=[]; 最佳答案

javascript - 谷歌 OAuth gapi.auth.authorize X-Frame-Options : SAMEORIGIN

大约2周前开始,一些客户开始遇到阻止他们使用Google服务进行身份验证的问题。到目前为止,我遇到的所有实例似乎都在非Gmail域中。问题似乎是(参见下面的差异部分)https://accounts.google.com/o/oauth2/auth来自gapi.auth.authorize的请求正在为这些特定客户端返回带有“X-Frame-Options:SAMEORIGIN”header的响应。我无法在本地重现此问题,但收到了失败请求的HAR。同样的身份验证方法适用于各种其他客户端,包括其他托管域(非@gmail帐户)。关于什么可能导致此请求失败的任何想法?要调查的其他事项或其他信息

javascript - 如何为 'ws' Web-Socket 模块创建自定义事件?

是否可以为NodeJS中的“ws”websocket模块创建自定义事件发射器和监听器(就像socket.io中的那样)。如果是这样,我该如何实现?//这是我想要实现的(反之亦然)://listeningonserverWebSocket.on('connection',function(ws){ws.on('myCustomEvent',function(data){//dosomethingwiththedata});});//emittingfromclientsocket.emit('myCustomEvent',data); 最佳答案

javascript - auth 组件作为 React 中的中间件

如何确保只有登录用户才能访问主页和任务页面?我正在使用redux并且我尽量避免使用任何预制的auth组件以更好地了解auth。constApp=props=>()我使用的是angular并且在路由中有中间件概念,但在react中我迷路了。我认为auth与redux的商店无关?当用户在应用程序中导航时,我是否需要调用以从api获取用户详细信息? 最佳答案 为了在我们的应用程序中解决这个问题,我们使用了一个高阶组件并包装了我们的根应用程序路由使用它。我们的路线结构有点不同,但对于任何需要“保护”的路线,您可以使用相同的概念。高阶组件只是

javascript - Socket.io 数据包在断开和重新连接之间丢失

我正在使用socket.io将智能手机(在webframe中)连接到服务器并发送几条消息(每分钟几条短字符串,没什么大不了的)。由于智能手机往往连接不稳定,因此socket.io被迫时不时地重新连接。它会自动执行此操作,并且我希望它在注意到连接当前不可用后发送的消息被缓冲并在重新建立连接后作为bundle发送。所以基本上socket.io一切顺利。但是当我在socket.io注意到连接断开之前发送消息时,消息丢失了。它无法传输,但也不会被socket.io缓冲。我对socket.io很满意,但这个问题困扰着我,因为我不发送很多消息,但我真的需要我发送的消息可靠地发送。建立连接后,所有消

javascript - AngularFirebaseAuth : Calling server api just after firebase auth?

我的身份验证基于两件事:firebase身份验证(电子邮件/密码)调用服务器API以从BDD和firebaseID检索完整的客户实体(用户必须存在)因此,如果满足这两个条件,用户将被“认证”。我还有一个基于返回Observable的isAuthenticated()的authGuard(因为在页面刷新时,守卫必须等待身份验证完成,然后才能将用户重定向到任何地方)。问题:我找不到一种方法让它与所有异步和rxjs困惑/hell一起工作。目前它正在工作,但每次调用isAuthenticated时,都会调用serverAPIauth时间...我怎样才能重构它以便只调用服务器一次并且所有异步/重

javascript - 如何在 Socket.io/express-sessions 中访问/保存授权事件的 session 数据?

我在node.js服务器上使用Socket.io和express4框架设置了一个websocket。我正在尝试在使用我的websocket时为我的用户实现授权步骤。当用户连接时,token将作为查询值传递给服务器。在服务器级别,我在数据库中查询与传递的token匹配的session。如果找到session,我会做一些其他检查以确保token未被劫持。问题session数据似乎在每次重新加载页面时都会被清除。或者服务器无法将sessionId链接到创建它的用户,因此每次它都会生成一个新session。我对“如果已设置”如何访问session变量感到困惑。我的代码的问题当用户重新加载他/她