Javascript 使用stormpath时Web套接字的端口号
所以我有一个节点。使用express构建的js Web应用程序 在这个应用程序上,我使用socket.io将自定义数据传递给节点服务器,然后它应该将这些数据传递给stormpath 当我在本地测试它时,它工作得很好,但是自从我在Openshift上启动它之后,套接字就不再工作了 我想我可能用错了插座的端口号?还是我做的完全错了??先谢谢你 Server=app.jsJavascript 使用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
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!');
});
});
}