【发布时间】:2014-10-17 21:41:54
【问题描述】:
我正在尝试使用 socket.io 和 socket.io-client 在 Node.js 中进行一些简单的通信。
我有两个脚本,server.js 和 client.js。
server.js 脚本可以绑定到面向 web 的端口,并像普通的 server/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 脚本之间的套接字通信,一个在服务器机器上,一个在客户端机器上。
感谢您的帮助:)
【问题讨论】:
标签: javascript node.js sockets socket.io