问题标签 [nowjs-sockets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
629 浏览

node.js - 缩放 SocketIO (NowJS)

我目前正在使用 Linode 来部署我的应用程序。我有 2 台服务器,1 台数据库服务器,前面有 1 个负载均衡器。

我使用 Redis 作为数据库和 NowJS 来实现聊天室。使用 Pub/Sub 一切正常。现在,我想使用集群来利用多核服务器。但是,在应用集群时,我遇到了奇怪的情况。有时,应用程序工作,有时它不工作,大约 25% 工作,75% 不工作(我运行了 4 个进程)。因此,我可以假设集群导致 nowJS 无法正常工作。现在,我必须做出决定

1.切换到SocketIO并使用RedisStore(我仍然可以将pub/sub与RedisStore一起用于SocketIO吗?或者完全切换到RedisStore)

2.忘记集群,如果需要添加更多服务器(由于没有使用多核,是否浪费资源)

P/s:对不起,我的英语不好,我不是本地人。

0 投票
1 回答
331 浏览

node.js - 使用 now.js 调用distributeMessage 方法时出错

开始使用 now.js 框架。使用 now.js 中的示例代码,我正在尝试实现聊天。包括这里是为了完整性。

我的 node.js 服务器与 now.js 正常工作。

我正在尝试扩展聊天,以便当用户输入他们的姓名时,会向服务器发送一条消息,指出“现在已加入聊天”。示例代码提示用户输入名称并将其设置为 now 对象的名称。

此时, now 对象可用。因此,我不是简单地设置 now.name,而是尝试设置 now.name 并通过调用 deployMessage('John has joined chat.') 发送消息

Chrome 和 firefox 报告错误,内容为

对象#<Object> 没有方法“distributeMessage”。

我不明白为什么。可以设置 now.name 属性。控制台日志显示了具有 getdistributeMessage 和 setdistributeMessage 函数的对象。当我单击“发送按钮”元素时,我可以发送消息。但是,此时我无法调用distributeMessage。

当我尝试进行方法调用时,now 对象是否未完全加载?我是否需要包含某种“现在” onLoadReady 方法?我需要做什么才能在提示后触发 now.distributeMessage 方法?

0 投票
1 回答
2816 浏览

node.js - 在 now.js/socket.io 聊天中增强安全性

与nowjssocket.io聊天是您可以使用它们执行的最简单的练习之一。我想使用 nowjs 的 Group 对象实现多房间聊天(房间数量和登录用户数不固定)。

我还没有直接使用 WebSockets,我想知道存在哪些安全问题。例如,我必须多久检查一次身份验证?

攻击者是否有可能“劫持”socket.io 连接,我该如何阻止它?

还有哪些其他安全陷阱需要关注?

0 投票
2 回答
322 浏览

javascript - 使用带有 NowJS 的 Node 服务器发送 javascript 文件

对于任何有 Node 经验的人来说,这个问题应该很容易回答——不幸的是,我是一个极端的新手。

我正在为棋盘游戏编写一个 Web 应用程序,该应用程序将使用服务器-客户端架构向所有客户端显示对棋盘所做的实时更改。该应用程序使用 Raphael 来显示图形。

我创建了一个成功发送 HTML 文件以响应任何请求的服务器,但该板不显示 - 只有没有任何 Javascript 的原始 HTML 出现。我认为这是因为我已将服务器编程为始终以 HTML 文件响应,并且我无法弄清楚如何将 Javascript 文件(client.js、raphael.js)发送到客户端以便页面可以正确加载.

相关代码如下。现在,我只是想让浏览器绘制一个 Raphael 元素,这样我就可以看到客户端正在正确获取加载页面所需的 Javascript 文件。

在服务器端:

在客户端:

您可以假设 HTML 文件的格式正确并包含对所有 JS 文件的引用——我已经让应用程序在没有服务器-客户端架构的情况下运行良好一段时间了。此外,我正在使用 NowJS,因此任何包含该框架的解决方案都将受到欢迎。

谢谢你的帮助!

0 投票
2 回答
521 浏览

javascript - 在nowjs中区分两个客户端

我正在为我的 webapp 使用 nowjs。如何区分两个客户。

我尝试使用 req.session 并在主app.js文件中使用全局变量。但是我没有成功地达到我需要的东西。

我的主要目标是分别处理这两个客户——一个作为主持人,另一个作为观众。做它的最佳方式是什么。

我遵循的基本框架如下(如文档中所述)

所以如果一个人更新,其他人都会得到更新。

但我需要的是。我想区分更新者和更新接收者。

0 投票
1 回答
184 浏览

javascript - nodejs 可以处理的负载是多少

我正在使用 nodejs 构建一个应用程序,它可以与连接到服务器的所有客户端进行实时同步。我使用 nowjs 来简化我的代码部分。

我计划在一个活动中托管这个应用程序,比如 2000 名参与者。如果所有参与者同时使用此应用程序,节点是否能够处理在服务器上运行的应用程序 - Core2Duo、4G ram、2M l2 缓存......

服务器正常运行时间 - 大约 5 天

还有它可以承受的最大负载是多少。如果 10000 个用户同时访问服务器会发生什么?(注意:客户端执行的每个事件都会发生实时同步)

0 投票
1 回答
188 浏览

javascript - 在 nowjs 中运行不同的实例

我使用 nowjs 创建了一个服务器。如何为按 URL 分组的客户提供服务。

这是提出问题的一种方式。我举个例子。

我运行我的服务器(使用 nowjs),mysite.com其中包含许多聊天室。

用户可以加入其中一个聊天室并开始聊天。发生实时同步 - 全部由 nowjs 处理。

现在谈到我的问题,我无法区分聊天室。无论聊天室用户加入什么,因为我使用的是所有人对象,每个用户都会收到一条消息(与他所在的聊天室无关)。

0 投票
5 回答
4478 浏览

node.js - 安装 nowjs 时缺少 node-waf

这似乎是最近出现的问题,因为 node.js 和 nowjs 都有新版本。尝试使用节点 0.7.0-pre 和 npm 在 ubuntu 11.04 上安装 nowjs

我明白了

因此节点代理的制作失败。重新安装节点让我无处可去。请帮忙?我在freenode上尝试过#nowjs,但它是沉默的......

是的,我见过这个问题,但答案对我来说没有意义。node-waf 确实丢失了,但是如何再次在节点上运行相同的 make install 来解决这个问题?

提前致谢!

0 投票
2 回答
476 浏览

node.js - 从 web 文件夹访问 Now.js 和 express.js

我必须在哪里安装 Now.js 和 express.js 才能从 web 文件夹访问它?

我的网络文件夹位于:/var/www/virtual/domain.com/htdocs我正在使用节点 v.0.6.6

但是当我在根文件夹中使用“npm install now”安装 now.js 时,当我想运行我的 server.js 文件时出现错误:

错误:“现在”找不到模块

我必须在某处设置 node_path 吗?还是我必须将 now.js 文件放入我的 web 文件夹中?

0 投票
1 回答
175 浏览

javascript - 路由 Node.js 中绑定的事件

我将 expressjs 与 nowjs 一起使用,当访问路由时,我将一些事件绑定到路由内的 now 对象。这不是很干净,我感觉所有的根都被访问了,事件被执行了。

我不知道怎么做,但我想知道我是否可以把它移到别处?