nodeJS在简单代码中获取错误

nodeJS get Error in simple code

本文关键字:获取 取错误 代码 简单 nodeJS      更新时间:2023-12-07

我是nodeJS的新手,在通过npm命令成功安装socket.io后,我将创建简单的js,如下代码:

var app   = require('http').createServer(handler),
    io    = require('socket.io').listen(app),
    fs    = require('fs');
function handler( request, response ) {
  fs.readFileSync( __dirname + '/index.html', function( error, data ) {
    if( error ) throw error;
    response.writeHead(200);
    response.end( data );
  });
};
app.listen( 1377 )
io.sockets.on( 'connection', function( socket ) {
  socket.on( 'loginRequest', function( data ) {
    login( data );
  });
});
function login( data, socket) {
  return socket.emit('loginAnswer', true)
};

这个文件可以由node application.js正确运行,没有任何问题,现在我正在创建简单的html代码:

<!DOCTYPE html>
  <html>
    <head>
        <script src="https://cdn.socket.io/socket.io-1.3.4.js"></script>
<script>
  var socket = io('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>
    </head>
    <body>
      <form onsubmit='requestLogin()'>
        <input id='username' type='text'>
        <input id='password' type='password'>
        <input type='submit'>
      </form>
        </body>
  </html>

这个文件的名称是index.html,我使用的是examplep,两个文件都在htdocs根目录中,htdocs只有这个文件,现在我在浏览器中打开localhost:1337,我得到错误

在将地址更改为localhost:1337之后,我得到了这个错误:

Unable to connect
Firefox can't establish a connection to the server at localhost:1337.

在应该使用fs.readFile的地方使用fs.readFileSync,还意识到您监听端口1377并尝试使用端口1337,在index.html中,将端口添加到套接字连接io('http://localhost:1377');