我的问题是:
我有一个服务器,正在运行 node .js和使用套接字.用于与客户端(web浏览器)通信的io.一切都很顺利.
然而,现在我有了服务器B,它也需要通过WebSocket连接到服务器A,我遇到了麻烦.没有 node .我发现的js websocket客户端无法使用该套接字.服务器A上的io.
所以,这就是我努力争取的情况:
.--------. .----------. .----------.
| CLIENT | <--> | SERVER A | <--> | SERVER B |
'--------' '----------' '----------'
客户端-服务器通过套接字进行连接.木卫一
现在,服务器B(运行node.js)应该通过websocket连接到服务器A(以便通过端口80).但是
甚至是socket中的示例代码.io客户端模块不工作…:/
// Connect to server
var socket = new io.Socket('localhost', {port: 8080});
socket.connect();
// Add a connect listener
socket.on('connect', function(socket) {
console.log('Connected.');
});
代码刚刚通过,没有任何错误,几秒钟后执行结束.
更新:代码示例
服务器(工作正常)如下所示:
// Load requirements
var http = require('http'),
io = require('socket.io');
// Create server & socket
var server = http.createServer(function(req, res){
// Send HTML headers and message
res.writeHead(404, {'Content-Type': 'text/html'});
res.end('<h1>Aw, snap! 404</h1>');
});
server.listen(8080);
io = io.listen(server);
// Add a connect listener
io.sockets.on('connection', function(socket) {
console.log('Client connected.');
// Disconnect listener
socket.on('disconnect', function() {
console.log('Client disconnected.');
});
});
客户看起来像这样
console.log('1');
// Connect to server
var io = require('socket.io-client')
var socket = new io.Socket('localhost', {port: 8080});
socket.connect();
console.log('2');
// Add a connect listener
socket.on('connect', function(socket) {
console.log('Connected!');
});
console.log('3');
1、2和3打印得很好,没有错误,几秒钟后进程就退出了
此外,服务器A不向日志(log)输出任何内容,即使我有套接字.io日志(log)设置为"一切".