Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用stormpath时Web套接字的端口号_Javascript_Node.js_Express_Socket.io_Stormpath - Fatal编程技术网

Javascript 使用stormpath时Web套接字的端口号

Javascript 使用stormpath时Web套接字的端口号,javascript,node.js,express,socket.io,stormpath,Javascript,Node.js,Express,Socket.io,Stormpath,所以我有一个节点。使用express构建的js Web应用程序 在这个应用程序上,我使用socket.io将自定义数据传递给节点服务器,然后它应该将这些数据传递给stormpath 当我在本地测试它时,它工作得很好,但是自从我在Openshift上启动它之后,套接字就不再工作了 我想我可能用错了插座的端口号?还是我做的完全错了??先谢谢你 Server=app.js server = require('http').createServer(app, function(request,respo

所以我有一个节点。使用express构建的js Web应用程序

在这个应用程序上,我使用socket.io将自定义数据传递给节点服务器,然后它应该将这些数据传递给stormpath

当我在本地测试它时,它工作得很好,但是自从我在Openshift上启动它之后,套接字就不再工作了

我想我可能用错了插座的端口号?还是我做的完全错了??先谢谢你

Server=app.js

server = require('http').createServer(app, function(request,response){
    console.log('Connection');
    response.writeHead(200, {'Content-Type': 'text/html'});
    response.write('hello socket');
    response.end();
}); // by excluding 'var' makes the variable Global

/*io = require('socket.io')(server);*/ // by excluding 'var' makes the variable Global
io = require('socket.io')(8000);
io.configure(function(){io.set("transports", ["websocket"]);});


var index_routes = require('./routes/index');
var auth_routes = require('./routes/auth');

var strategy = new StormpathStrategy({
    expansions: 'customData'
});

server.listen(80, function(){
    console.log('listening on port %d', server.address().port);
});
在下面的代码中,favlist是一个自定义数据数组,作为json对象存储在stormpath上

Client=script.js

 var socket = io.connect('ws://zaos-cheffernan087.rhcloud.com:8000',{
    transports: ['websocket','flashsocket','htmlfile','xhr-polling','jsonp-polling']
  });

    socket.on('message', function(data){
    console.log(data.message + ' has been set to client favourites');

    console.log('custom Data = '+ data); 

   // console.log(data.message.playlist);
    var fromStorm = data;
   // console.log(fromStorm);
    var split = new Array;
    for (var j = 0; j < data.length; j++){
        split.unshift(fromStorm[j]);



    }

你能提供更多的信息/代码吗?听起来这可能有很多问题。你是如何在OpenShift上设置的?等等?@rdegges是的,没问题,我现在就去拿我的代码,你在OpenShift上设置是什么意思??你的意思是我如何上传它???@rdegges这是我的代码,为奇怪的变量名道歉,真的希望你能发现一个问题,因为我已经两个月没有使用我的套接字了。你的stormpath代码看起来很好——除了潜在的部署环境问题之外,我不确定还有什么可能导致这个问题:xokay谢谢,我想我会尝试使用ajax请求而不是web套接字
io.on('connection',function(socket){


      socket.emit('message', cd );

      /* * * * * * * * * * * * * * * * * * * */


      socket.on('client_data', function(data){

        nf = data;
        process.stdout.write('nf = '+ nf);

        update();


      }); 



  });

  function update(){

    req.user.getCustomData(function(err, data) {


    var oldStormpath = data.favList;
    console.log('oldStormpath = ' + oldStormpath);

    data.remove('favList');
    data.save(function(err){
    if(err) throw err;
  });

     data.favList = nf;

    data.save(function() {
      res.send('Your information has been updated!');
    });
  });


  }