需要一些帮助来理解nodejs和 socket.io
Need some help understanding nodejs and socket.io
很抱歉这个问题相当无知,但我对这两种技术有点困惑。我用 C# 编写了一个使用 Fleck 的 Web 服务器,一切都运行良好,但我意识到我可能找不到可以运行 .NET 应用程序的托管服务提供商。
我想使用 websockets,我发现 socket.io 非常受欢迎,但我不确定它到底是什么。如果我错了,请纠正我,但是,这就像用javascript编写服务器一样,您使用node.exe
应用程序运行javascript文件,然后服务器正在运行吗?人们如何找到将提供这种服务的托管服务提供商?
最后,socket.io 只是nodejs的扩展吗?当你使用 socket.io 时,你必须用javascript编写你的服务器吗?再次,很抱歉非常新手的问题,但我只是想在继续之前了解一些基本的事情。谢谢。
有几家公司将托管您的节点应用程序。它与您的过渡网络主机不同,您为他们提供文件并为您提供文件。使用节点时,您正在编写实际的Web服务器。
一些流行的如下:
- https://devcenter.heroku.com/articles/nodejs
- http://nodejitsu.com/
- http://nodester.com/
@Roest:虚拟服务器听起来很有趣。有什么优点和缺点 这样的方法?另外,考虑到nodejs的流行程度如何 它的网络服务器托管支持如此有限?人们如何使用它?
使用虚拟服务器时,您对服务器上运行的内容充满信心。
优点自由,您可以选择要在计算机上运行的所有软件。很多时候,在使用nodejs时,你会希望一些自定义软件与你的应用程序一起运行。大多数情况下,这是您的数据库层,无论您选择哪个。
缺点你必须维护它。就像@Roest所说,这对大多数人来说并不是一个骗局,因为这直接关系到虚拟服务器给你的自由,但这是你需要考虑的事情。
我认为您看到对nodejs的支持有限的原因是因为它相对较新,并且很容易自己设置。
我想使用websockets,我发现 socket.io 非常受欢迎 但我不确定它到底是什么。如果我错了,请纠正我,但是,是 这就像用JavaScript编写服务器并运行JavaScript一样 文件
node.exe
,然后服务器正在运行?
这几乎就是nodejs,或者至少是你如何使用它。Nodejs本身是运行在服务器上的Google的V8 javascript引擎,以及大量的库和C绑定,允许您以V8引擎不允许的方式与服务器进行交互。
这是nodejs中Web服务器的一个示例(一个非常有限的示例)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World'n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
它只是Hello World
响应每个请求,并始终返回 200 状态代码。
从这样的东西到一个简单的文件服务器是相当容易和快速的,但是有些人已经为您解决了这个问题。
http://expressjs.com/- 非常强大的Web服务器,但仍然为您提供了很多自由。https://github.com/nodeapps/http-server - 简单的Web服务器,我主要将其用作命令行工具,通过http即时服务器文件。
最后,socket.io 只是nodejs的扩展吗?你必须编码吗 当你使用 socket.io 时,你的服务器在JavaScript中?再次,对不起 非常新手的问题,但我只是想了解一些基本的东西 在我继续之前的事情。谢谢。
socket.io 其中许多其他模块是 nodejs 的一个模块。根据您对扩展的定义,它可能使用错误的词。大多数情况下,使用 socket.io 时,您将使用现有的http服务器,然后扩展或用 socket.io 包装服务器。我之前写过一篇关于nowjs如何做到这一点的解释。我的猜测是 socket.io 非常相似。
回答这个问题的大部分:是的,你仍然会用javascript编写代码。您将只使用 socket.io API。
@travis已经涵盖了您需要了解的有关节点和 socket.io 的所有信息
我只想说,您不必购买专用于节点的special
托管。
我的游戏托管在带有 Ubuntu 的 VPS 上
我发现它非常易于部署和维护。有一个适用于 Ubuntu 的软件包,安装实际上需要四行复制/粘贴
https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
ps:我不是在使用 socket.io 而是使用einaros/ws库,我觉得它没有那么夸张。
- RangeError nodejs socket.io
- 使用cordova快速nodejs socket.io
- nodejs中的socket.io客户端
- 需要一些帮助来理解nodejs和 socket.io
- 使用其他javascript文件nodejs和express发送和获取数据 socket.io
- 将数据库查询存储在nodejs中(使用socket.io)
- 无法为nodejs安装express和socket.io
- NodeJS and Socket.io Flood Control
- NodeJS,通过socket控制台发送缓冲区后表示'这不是缓冲区
- nodejs socket 发出返回未定义
- NodeJS&Socket.IO:发出请求事件并获取响应,我应该在何时/何地绑定侦听器
- NodeJS-socket.io正在获取“;访问被拒绝”;例外
- NodeJs, socket.io, IE
- Angulars JS Btford library, NodeJS Socket.io
- NodeJS + Socket.io连接事件处理程序未被成功调用
- NodeJS+Socket IO发送过多数据
- javascript从缓冲区(nodejs/socket.io)将图像绘制到html中
- 如何提高nodejs / socket io性能
- Winjs应用不能连接nodejs socket.io服务器
- Nodejs socket编程-发送数据长度