Socket.io不能在节点服务器上工作

我正在运行一个服务器,它需要做的就是连接到第三方公共socket.iostream。 我有我的反应的应用程序工作,但不能让它在我的服务器上工作。 我使用节点和express.When我运行时,我没有得到任何的错误。 这是我的代码

var express = require("express"); var app = express(); var port = 3000; var io = require('socket.io-client/dist/socket.io'); var socket = io.connect('http://socket.coincap.io', {transports: ['websocket']}); socket.on('trades', function(tradeMsg) { console.log("worked"); }); app.listen(port, () => { console.log("Server listening on port " + port); }); 

刚刚检查了我的代码,我做了类似以下的代码。 不知道这是你的解决scheme,但也许可以帮助你。

在一个单独的socket-io.js

 module.exports = function (app, server) { var socketIO = require('socket.io').listen(server, {'transports': ['websocket']}); global.socketIO = socketIO; socketIO.set('origins', '*:*'); socketIO.sockets.on('trades', function (tradeMsg) { console.log("worked"); }); }; 

然后在我的wwwvar server = http.createServer(app); 我有:

 require('socket-io')(app, server); 

你可以尝试使用npm来安装socket.io-client

npm install socket.io-client --save

并尝试运行下面的代码。 它应该工作正常。

 var express = require("express"); var app = express(); var port = 3000; var socket = require('socket.io-client')('http://socket.coincap.io'); socket.on('trades', function(tradeMsg) { console.log("worked"); }); app.listen(port, () => { console.log("Server listening on port " + port); });