The last days I've been searching around for a fix to this problem but I can't seem to find it. When I run the socket.io serverside locally there's no problem and my client application runs just fine. But when I move the serverside to Heroku I can't connect to it.
The client Side code (snippet):
public void connectSocket(){
try {
socket = IO.socket("https://mptestvliegvliegpew.herokuapp.com:29930"); //maybe link to a web server
socket.connect();
} catch (Exception e) {
System.out.println(e);
}
}
The node.js Server side code on Heroku:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var players = [];
//process.env.PORT || 8080
server.listen(process.env.PORT, function(){
console.log("Server is now running...");
console.log("Listening on port: " + process.env.PORT);
});
io.on('connection', function(socket){
console.log("Player Connected!");
socket.emit('socketID', { id: socket.id });
socket.emit('getPlayers', players);
socket.broadcast.emit('newPlayer', { id: socket.id });
socket.on('playerMoved', function(data){
data.id = socket.id;
socket.broadcast.emit('playerMoved', data);
for(var i = 0; i < players.length; i++) {
if(players[i].id == data.id) {
players[i].x = data.x;
players[i].y = data.y;
}
}
});
socket.on('disconnect', function(){
console.log("Player Disconnected");
socket.broadcast.emit('playerDisconnected', { id: socket.id });
for(var i = 0; i < players.length; i++){
if(players[i].id == socket.id){
players.splice(i, 1);
}
}
});
players.push(new player(socket.id, 0, 0));
});
function player(id, x, y){
this.id = id;
this.x = x;
this.y = y;
}
Already went through most of the tutorials on Heroku (e.g. :https://devcenter.heroku.com/articles/node-websockets) but found nothing that helped my problem.
Hope you guys know more on the topic!
via Arno C
No comments:
Post a Comment