Setting up node.js and sockets.io

Setting up node.js and sockets.io

本文关键字:sockets io and js up node Setting      更新时间:2023-09-26

我几乎花了一整天的时间访问教程网站,解释如何使用nodejs和socket。但是我不能让任何东西工作。

我已经设法至少运行一个js文件:

node filename.js

但是它不能完全工作。它运行到"var server = net…"行,因为"console.log("hello")"行DOES NOT EXECUTE:

var net = require('net');
var server = net.createServer(function (socket) {
    console.log("hello");
  socket.write('Echo server'r'n');
  socket.pipe(socket);
});
console.log("hello");
server.listen(1337, '127.0.0.1');

这是从官方node.js网站主页上得到的:http://nodejs.org/

所有的教程都声称这很简单。

我只是试着遵循这个教程,虽然他们中的很多人都跳过了我被困住的部分(实际安装):http://tutorialzine.com/2012/08/nodejs-drawing-game/

所以按照上面的教程,我从控制台运行app.js,我得到一个消息"套接字。我被困在它要求你去这个URL的部分:

http://localhost:8080

浏览器尝试去那里,但它挂起了几分钟,然后说:"未收到数据无法加载网页,因为服务器没有发送任何数据。"

我不知道node.js是如何工作的,似乎没有解释它是如何工作的…node.js安装在哪里?如果它意味着在服务器上,它如何被安装在服务器上?我应该在哪里安装它来进行本地测试?什么是socket.io?应该安装在哪里?

我似乎在node.js信息网站上得到的都是代码块转储,几乎没有解释是怎么回事。

我跟随一个youtube教程,其中的家伙是使用WAMP服务器,所以我想也许我需要把文件放在服务器上,所以我安装了WAMP并禁用了IIS8服务器。另一个注意,当我在浏览器上访问"localhost"时,它说"它工作了!"这似乎是来自本地服务器的自动消息-我以为它是IIS8,但即使我禁用了该服务,该消息仍显示出来。即使我安装了WAMP并使其运行,也会显示该消息。此外,WAMP也不能工作,因为php文件不能运行。Localhost总是将我带到显示该消息的页面。

这是本地服务器问题吗?

很难给你的问题一个"答案"。我建议你从一个更基本的绘画游戏开始。此外,我建议你从nodejs开始,不使用套接字。马上就来。当你理解了node是如何工作的,你可以从websockets开始。

下面是一些node 101的东西:

  • http://www.nodebeginner.org/
  • http://thatextramile.be/blog/2011/12/node-js-for-dummies/

你根本不需要WAMP。nodejs 服务器!

你似乎不知道什么是端口。您的节点脚本启动一个监听端口1337的web服务器。如果要查看该服务器提供的服务,则需要将浏览器指向localhost:1337(而不是端口8080)

我已经在github上创建了使用套接字的基本要点。IO + node + express

制作插座的最小工作环境。IO应用程序是这样的:

var express = require('express'),
    app = express(),
    http = require('http'),
    server = http.createServer(app),
    io = require('socket.io').listen(server);
app.get('/', function(req, res) {
  res.send('<!doctype html> '
            <html> '
            <head><meta charset="utf-8"></head> '
            <body> '
                 <center>Welcome to <strong>socket.io</strong></center> '
                 <script src="/socket.io/socket.io.js"></script> '
                 <script> '
                    var socket = io.connect(); '
                    socket.emit("message", "Howdy"); '
                    setInterval(function () { '
                        socket.emit("message", "Ping"); '
                    }, 1000); '
                 </script> '
            </body> '
            </html>');
  });
  io.sockets.on('connection', function (socket) {
     socket.on('message', function(msg) {
        console.log(msg);
     });
  });
  server.listen(8000);

您需要require('socket.io'),然后创建一个io.sockets连接。On ('connection', function (socket)以使其工作