Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Socket.io-client简单客户端/服务器测试无法连接-Node.js_Javascript_Node.js_Sockets_Socket.io - Fatal编程技术网

Javascript Socket.io-client简单客户端/服务器测试无法连接-Node.js

Javascript Socket.io-client简单客户端/服务器测试无法连接-Node.js,javascript,node.js,sockets,socket.io,Javascript,Node.js,Sockets,Socket.io,我正在尝试使用socket.io和socket.io-client在Node.js中进行一些简单的通信 我有两个脚本,server.js和client.js server.js脚本可以绑定到面向Web的端口,就像普通的服务器/socket.io主机一样,在与浏览器客户端一起使用时都可以工作 但是client.js(在另一个节点脚本中运行)不起作用,它只是等待,不输出任何内容。我希望client.js中的socket.io-client连接到server.js中的socket.io实例,并在控制台

我正在尝试使用socket.io和socket.io-client在Node.js中进行一些简单的通信

我有两个脚本,server.js和client.js

server.js脚本可以绑定到面向Web的端口,就像普通的服务器/socket.io主机一样,在与浏览器客户端一起使用时都可以工作

但是client.js(在另一个节点脚本中运行)不起作用,它只是等待,不输出任何内容。我希望client.js中的socket.io-client连接到server.js中的socket.io实例,并在控制台中显示一条消息,表示它们已连接

server.js代码:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res){
    console.log("\nNew server request: "+req.url+"\n");

    // sends a html file with a script that connects
    // to socket.io running in server.js
    res.sendFile(__dirname+'/webroot/index.html');
});

// listens for connections
io.on('connect', function(socket){
  console.log('a client connected');
});

// start listening on server
http.listen(9000, function(){
  console.log('listening: 9000');
});
client.js代码:

var io = require('socket.io-client');

// connect to server.js socket
var socket = io('http://hostsite.com', {
    port: 9000
});

socket.on('connect', function(){
    console.log("connected\n");
});
安装有npm

npm install socket.io // version: 1.0.6
npm install socket.io-client // version: 1.0.6
npm install express // version: 4.8.5
理想情况下,我不想使用express或http服务器,只想使用两个Node.js脚本之间的套接字通信,一个在服务器机器上,一个在客户端机器上


感谢您的帮助:)

由于某些原因,我使用以下命令时,它无法连接:

npm install socket.io-client

and

require('socket.io-client');
但是如果我使用主软件包附带的客户端,它会连接

npm install socket.io

and

require('socket.io/node_modules/socket.io-client');
花了一段时间才弄明白,但希望现在其他人能少花点时间;如果他们面临相同的问题。

您是否尝试过:

var socket = io.connect('http://hostsite.com:9000');