问题标签 [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.
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:对不起,我的英语不好,我不是本地人。
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 方法?
javascript - 使用带有 NowJS 的 Node 服务器发送 javascript 文件
对于任何有 Node 经验的人来说,这个问题应该很容易回答——不幸的是,我是一个极端的新手。
我正在为棋盘游戏编写一个 Web 应用程序,该应用程序将使用服务器-客户端架构向所有客户端显示对棋盘所做的实时更改。该应用程序使用 Raphael 来显示图形。
我创建了一个成功发送 HTML 文件以响应任何请求的服务器,但该板不显示 - 只有没有任何 Javascript 的原始 HTML 出现。我认为这是因为我已将服务器编程为始终以 HTML 文件响应,并且我无法弄清楚如何将 Javascript 文件(client.js、raphael.js)发送到客户端以便页面可以正确加载.
相关代码如下。现在,我只是想让浏览器绘制一个 Raphael 元素,这样我就可以看到客户端正在正确获取加载页面所需的 Javascript 文件。
在服务器端:
在客户端:
您可以假设 HTML 文件的格式正确并包含对所有 JS 文件的引用——我已经让应用程序在没有服务器-客户端架构的情况下运行良好一段时间了。此外,我正在使用 NowJS,因此任何包含该框架的解决方案都将受到欢迎。
谢谢你的帮助!
javascript - 在nowjs中区分两个客户端
我正在为我的 webapp 使用 nowjs。如何区分两个客户。
我尝试使用 req.session 并在主app.js
文件中使用全局变量。但是我没有成功地达到我需要的东西。
我的主要目标是分别处理这两个客户——一个作为主持人,另一个作为观众。做它的最佳方式是什么。
我遵循的基本框架如下(如文档中所述)
所以如果一个人更新,其他人都会得到更新。
但我需要的是。我想区分更新者和更新接收者。
javascript - nodejs 可以处理的负载是多少
我正在使用 nodejs 构建一个应用程序,它可以与连接到服务器的所有客户端进行实时同步。我使用 nowjs 来简化我的代码部分。
我计划在一个活动中托管这个应用程序,比如 2000 名参与者。如果所有参与者同时使用此应用程序,节点是否能够处理在服务器上运行的应用程序 - Core2Duo、4G ram、2M l2 缓存......
服务器正常运行时间 - 大约 5 天
还有它可以承受的最大负载是多少。如果 10000 个用户同时访问服务器会发生什么?(注意:客户端执行的每个事件都会发生实时同步)
javascript - 在 nowjs 中运行不同的实例
我使用 nowjs 创建了一个服务器。如何为按 URL 分组的客户提供服务。
这是提出问题的一种方式。我举个例子。
我运行我的服务器(使用 nowjs),mysite.com
其中包含许多聊天室。
用户可以加入其中一个聊天室并开始聊天。发生实时同步 - 全部由 nowjs 处理。
现在谈到我的问题,我无法区分聊天室。无论聊天室用户加入什么,因为我使用的是所有人对象,每个用户都会收到一条消息(与他所在的聊天室无关)。
node.js - 安装 nowjs 时缺少 node-waf
这似乎是最近出现的问题,因为 node.js 和 nowjs 都有新版本。尝试使用节点 0.7.0-pre 和 npm 在 ubuntu 11.04 上安装 nowjs
我明白了
因此节点代理的制作失败。重新安装节点让我无处可去。请帮忙?我在freenode上尝试过#nowjs,但它是沉默的......
是的,我见过这个问题,但答案对我来说没有意义。node-waf 确实丢失了,但是如何再次在节点上运行相同的 make install 来解决这个问题?
提前致谢!
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 文件夹中?
javascript - 路由 Node.js 中绑定的事件
我将 expressjs 与 nowjs 一起使用,当访问路由时,我将一些事件绑定到路由内的 now 对象。这不是很干净,我感觉所有的根都被访问了,事件被执行了。
我不知道怎么做,但我想知道我是否可以把它移到别处?