套接字.io-client简单客户端/服务器测试不能连接- Node.js

Socket.io-client simple client/server test wont connect - Node.js

本文关键字:连接 不能 Node js 测试 服务器 io-client 简单 客户端 套接字      更新时间:2023-09-26

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

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

server.js脚本可以绑定到一个面向web的端口,就像一个普通的服务器/套接字一样。IO主机,当与浏览器客户端一起使用时,

但是client.js(在另一个节点脚本中运行)不起作用,它只是等待而不输出任何东西。我期待我的插座。client.js中的Io-client连接到套接字。在server.js中的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脚本之间的socket通信,一个在服务器机器上,一个在客户端机器上。

谢谢你的帮助

由于某些原因,当我使用:

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');