簡體   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