я пытаюсь использовать Node.js с Socket.IO для облегчения обмена сообщениями между браузером и клиентом, следуя руководству .
Однако мне пришлось настроить обратное проксирование Node -за Apache. Итак, вместо example.com :8080 для узла я использую example.com/nodejs/.
Похоже, что это приводит к тому, что Socket.IO теряет смысл. Вот мое приложение узла
var io = require('socket.io').listen(8080);
// this has to be here, otherwise the client tries to
// send events to example.com/socket.io instead of example.com/nodejs/socket.io
io.set( 'resource', '/nodejs/socket.io' );
io.sockets.on('connection', function (socket) {
socket.emit('bar', { one: '1'});
socket.on('foo', function( data )
{
console.log( data );
});
});
А вот как выглядит мой клиентский файл
Socket.IO test
Hello World
Проблема здесь в ссылке скрипта наhttp://example.com/nodejs/socket.io/socket.io.js. Он не возвращает ожидаемое содержимое javasscript -вместо этого возвращает «Добро пожаловать в socket.io», как если бы я нажалhttp://example.com/nodejs/.
Есть идеи, как мне заставить это работать?