您好我正在尝试使用Engine.IO。 正如StackOverflow中所述,它应该是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>
但现在是什么? index.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);
});
为什么这分为三部分?哪一个对应客户端示例?也许我听起来很愚蠢,但如何让“你好世界”继续下去?
答案 0 :(得分:2)
我建议您阅读以下书籍,它会清除您的一些疑虑。 “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有一个艰难的学习曲线。