繁体   English   中英

Socket.io在节点服务器上不起作用

[英]Socket.io not working on node server

我正在运行服务器,它所要做的就是连接到第三方公共socket.io流。 我可以在我的React应用程序中运行它,但是无法使其在我的服务器上运行。 我正在使用node和express。当我运行时,我没有任何错误。 这是我的代码

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

刚刚检查了我的代码,我做了类似下面的事情,这与您的代码有些不同。 不知道这是否是您的解决方案,但也许可以为您提供帮助。

在单独的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);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM