简体   繁体   English

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

[英]Socket.io not working on node server

I'm running a server and all it needs to do is connect to a 3rd party public socket.io stream. 我正在运行服务器,它所要做的就是连接到第三方公共socket.io流。 I have it working in my react app but can't get it to work on my server. 我可以在我的React应用程序中运行它,但是无法使其在我的服务器上运行。 I'm using node and express.When I run I get no errors. 我正在使用node和express。当我运行时,我没有任何错误。 Here is my code 这是我的代码

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

Just checked my code, I do something like the following which is a bit different than your code. 刚刚检查了我的代码,我做了类似下面的事情,这与您的代码有些不同。 Don't know if it's your solution but maybe that could helps you. 不知道这是否是您的解决方案,但也许可以为您提供帮助。

In a separate socket-io.js 在单独的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");
     });
 };

Then in my www after var server = http.createServer(app); 然后在我的wwwvar server = http.createServer(app); I've got: 我有:

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

You can try installing socket.io-client using npm . 您可以尝试使用npm安装socket.io-client

npm install socket.io-client --save

And try running the following code. 并尝试运行以下代码。 It should work fine. 它应该工作正常。

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