Socket.io funciona muito bem com os websockets do OpenShift . Tudo que você precisa fazer é configurar o socket.io para usar o transporte “websocket”.
O resto dos transportes não funcionará.
self.app = express();
self.server = require('http').createServer(self.app);
self.io = io.listen(self.server);
self.io.configure(function(){
self.io.set("transports", ["websocket"]);
});