需要Engine.IO教程[关闭]

Posted

技术标签:

【中文标题】需要Engine.IO教程[关闭]【英文标题】:Engine.IO tutorial needed [closed] 【发布时间】:2013-11-30 03:35:14 【问题描述】:

您好,我正在尝试使用 Engine.IO。 正如 *** 上所述,它应该是 Socket.IO 的低级版本。它也应该更好,更新。它还应该让我能够轻松地在浏览器客户端和 Node.js 服务器之间交换消息。呵呵。

我从上到下阅读了这两页:

https://github.com/LearnBoost/engine.io

https://github.com/learnboost/engine.io-client

但这无济于事,这些手册似乎是为已经知道如何使用该技术的人编写的,而不是为尝试学习该技术的人编写的。连最基本的部分都不见了。

客户端脚本应该如何到达浏览器?

我应该在浏览器中输入“hello world”的登陆地址是什么?

分步说明如何开始?

请帮忙!当你尝试学习这样的东西时,这并不容易!

这是客户端脚本应该是的:

<script src="/path/to/engine.io.js"></script>
<script>
  var socket = new eio.Socket('ws://localhost/');
  socket.on('open', function () 
    socket.on('message', function (data)  );
    socket.on('close', function ()  );
  );
</script>

但现在那是什么?索引.html?这是什么意思呢?如何使用它?

现在这里是“服务器”部分:

(A) Listening on a port

var engine = require('engine.io')
  , server = engine.listen(80)

server.on('connection', function (socket) 
  socket.send('utf 8 string');
);
(B) Intercepting requests for a http.Server

var engine = require('engine.io')
  , http = require('http').createServer().listen(3000)
  , server = engine.attach(http)

server.on('connection', function (socket) 
  socket.on('message', function ()  );
  socket.on('close', function ()  );
);
(C) Passing in requests

var engine = require('engine.io')
  , server = new engine.Server()

server.on('connection', function (socket) 
  socket.send('hi');
);

// …
httpServer.on('upgrade', function (req, socket, head) 
  server.handleUpgrade(req, socket, head);
);
httpServer.on('request', function (req, res) 
  server.handleRequest(req, res);
);

为什么要分成三部分?哪一个对应于客户端示例?也许我听起来很愚蠢,但是如何让“hello world”继续下去呢?

【问题讨论】:

“客户端脚本应该如何到达浏览器?” 真的吗?我觉得你想太多了。您将客户端 sn-p 放在您提供给客户端的任何 HTML 页面中,就像所有其他 javascript 片段(...它不是您的 Node 应用程序的一部分)。 好的,谢谢,您回答“客户端部分如何进入浏览器”部分 - 它使用单独的 Web 服务器。 它被分成三个部分,因为它们做了三个完全独立的事情。 【参考方案1】:

我建议您阅读以下书籍,它将消除您的一些担忧。 “http://www.nodebeginner.org/”。

然后试着按照书上说的做你的第一个 NodeJS 应用程序,这样你就可以了解它背后的想法。

然后继续使用“socket.io”并在本教程“http://net.tutsplus.com/tutorials/javascript-ajax/real-time-chat-with-nodejs-socket-io-and-expressjs/”的帮助下创建一个简单的应用程序。

在那之后,我相信您不会对 engine.io 有任何疑问,并且您将能够继续您的项目。 在没有“NodeJS”和“socket.io”先验知识的情况下跳转到engine.io 有一个艰难的学习曲线。

【讨论】:

以上是关于需要Engine.IO教程[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

engine.io 和 socket.io 有啥区别?

Engine.io 或 SockJS,选择哪一个?

engine.io 是不是支持安全的 WebSockets wss?

engine.io/wss/SSL/HTTP:如何配置?

需要iOS教程在我的应用程序中播放视频文件[关闭]

客户端正在使用不受支持的 Socket.IO 或 Engine.IO 协议版本错误