jjzjj

ssl_client_socket_impl

全部标签

javascript - 使用 Express.js v4 和 Socket.io v1 的 session

如何在express.js中保存session数据并在socket.io事件中访问它?我正在使用express.jsv4、socket.iov1和基本express-session开发一个网络应用程序中间件。我花了几个小时试图解决这个问题,但StackOverflow上的所有当前答案仅适用于expressv3和socket.iov0.9。不幸的是,我不能使用express.io,因为它只是一个也使用那些旧版本的包装器。我目前的解决方案完全是黑客攻击:app.get('/auth',function(req,res){if(verified(req.query)){authed[req.

javascript - 如何通过谷歌负载平衡使用 socket.io

我们在尝试通过googleload将socket.io连接到node.jscomputeengine实例时遇到一些问题平衡。如果我从我的浏览器直接连接到我的node.js的外部IP一切正常。如果我尝试通过负载平衡(这将是生产架构)连接到相同的node.js,socket一直断开连接。我们尝试使用sessionAffinity配置负载平衡但没有成功。有什么建议吗?谢谢 最佳答案 默认情况下,http负载平衡的超时设置默认为30秒(Source),这适用于web套接字,当后端支持该协议(protocol)时,它又被socket.io使用

javascript - 尝试运行 node.js 样板项目时找不到模块 'Socket.IO-node'

当我尝试运行使用node.js样板项目创建的项目时出现错误我已经使用NPM通过以下命令安装了socket.io:npm安装socket.io我得到的错误是:node.js:189throwe;//process.nextTickerror,or'error'eventonfirsttick^Error:Cannotfindmodule'Socket.io-node'atFunction._resolveFilename(module.js:317:11)atFunction._load(module.js:262:25)atrequire(module.js:346:19)atObje

javascript - 如何处理net::ERR_SSL_PROTOCOL_ERROR?

我在我的网站中包含了一个JS库由网页设计公司设计、维护和托管。我试图实现的目标的实现似乎编码得很好——参见我的JSFiddle–它工作正常,没有错误。然而,当从我的JSfiddle复制代码并将其粘贴到我的网站时,它根本不起作用——GoogleChrome开发者控制台显示:获取https://www.turnjs.com/lib/turn.min.jsnet::ERR_SSL_PROTOCOL_ERROR但这很奇怪,因为我的Jsfiddle代码包含相同的turn.min.js并且它在那里工作,但在我的网站上却没有。 最佳答案 这不是j

javascript - 如何使用 Apollo-Client 为请求设置超时

我有一个React-Native应用程序,我在其中向GraphQL服务器发出请求。一切正常,除了我需要一种方法将请求/客户端的超时设置为5或10秒。目前请求在超时之前需要很长时间(大约1分钟)。这是我如何使用客户端的简单示例。constclient=newApolloClient({networkInterface:createNetworkInterface({uri:`${config.server_hostname}/graphql`})});client.query({query:gqlString});我一直无法通过StackOverflow、谷歌搜索或Apollo的文档找到

javascript - Socket.io 从断开连接中恢复

我在Socket.io中与服务器和客户端聊天。客户端向服务器发送消息或从服务器接收消息。为了测试断开连接事件,我拔出以太网插头并在几秒钟后重新连接。之后,从客户端发送消息仍然正常,所有之前在断开连接期间发送的消息都在Chrome和Firefox上成功重新发送。然而,对于接收,Chrome是可以的,但对于不再从服务器接收消息的Firefox则不行。问题是我该怎么做才能正确处理此类网络问题并使我的聊天更稳定? 最佳答案 如文档中所述和您所说的,套接字应该正常重新连接。由于您可以发送消息,因此您似乎已重新连接到一半。有几个事件值得您添加以

javascript - 从命令行伪造 socket.io 连接

一旦您设置了故障复杂的socket.io+node.js设置,您如何在不使用浏览器的情况下进行一些测试?您知道是否可以创建使用socket.io与“主”node.js服务器通信的node.js客户端吗?(正在与浏览器交谈的那个)。当然,浏览器中的逻辑将被复​​制到那些客户端中,但仍然... 最佳答案 现在有LearnBoost的官方socket.io-clientnpm-g安装socket.io-client我还使用phantomjsheadless浏览器做了一些测试 关于javascr

javascript 从缓冲区将图像绘制到 html (nodejs/socket.io)

(对不起我的英语)嗨,我有一个用nodejs创建的应用程序,用于将图像数据推送到网页中。使用socket.io将nodejs服务器的数据推送到网页此数据为完整图像,我尝试写入光盘以查看图像并且很好。数据被放入缓冲区以base64编码然后发送到网页,我尝试使用'data:image/png;base64,'+数据但什么也没发生……数据似乎是“完整的”,包括PNG图像的标题。服务器使用thrift与另一个客户端(在C++中)通信,该客户端创建图像并发送到nodejs-thrift服务器,当接收到图像时,nodejs-socket.io服务器推送到网页。一些代码:服务器端varhttp=re

javascript - socket.io——限制每个命名空间的最大连接数

我有一个基于node.js、express和socket.io构建的小型网络应用程序。在其中,我使用了两个这样创建的命名空间:lists=io.of('/lists'),views=io.of('/view'),我想做的是限制/views命名空间中的连接数。有没有办法用socket.io做到这一点?我查看了文档,但在那里找不到任何东西。任何想法如何做到这一点?提前致谢! 最佳答案 您可以制作一个简单的计数器(如果需要-扩展类):varlists=io.of('/lists');lists.max_connections=10;lis

javascript - Socket.io 无法将数据发送到客户的唯一房间

我正在使用Node.js创建一个媒体上传微服务。该服务的工作原理是将上传的二进制数据接收到缓冲区,然后使用S3npm包上传到S3存储桶。我正在尝试使用该包中的eventEmitter,它显示上传到S3的数据量,并将其发送回正在上传的客户端(以便他们可以看到上传进度)。我正在使用socket.io将进度数据发送回客户端。我遇到的问题是socket.io中的.emit事件会将上传进度数据发送到所有连接的客户端,而不仅仅是发起上传的客户端。据我了解,一个套接字连接到“连接”上的默认房间,该房间由客户端的“id”镜像。根据官方文档,使用socket.to(id).emit()应该只将范围内的数