socket.io -ReferenceError :io не определен

Я пишу приложение для Android 2.3.5 (, которое также будет совместимо с iOS ). Я хочу передать данные из HTML/Javascript приложения в программу Python на сервере (, который использует механизм Twisted для извлечения данных ).

Я пробовал многое и просматривал различные форумы, ответы, руководства и веб-страницы --, в том числе большинство из них здесь --, и не нашел ответа. Вот соответствующий Javascript в моем файле index.html:

<script src="socket-lib/socket.io.js"></script>
<script type="text/javascript" charset="utf-8">
function sendData() {
    try {
        var socket = io.connect('http://mywebsite.com:12345');
        socket.on('connect', function(data) {
            socket.send('Hello.');
            socket.on('message', function (msg) {
                socket.send('This is where I send data?');
            });
        });
    }
    catch(err) {
        alert('ERROR: socket.io encountered a problem:\n\n' + err);
    }
} // end of sendData

Если вы не можете сказать, я все еще не понимаю, как это работает; Я даже не могу ничего проверить. Постоянно появляется ошибка ReferenceError: io is not defined. Некоторые сайты использовали что-то вроде var io = require('socket.io');. Но тогда это приводит к той же ошибке:ReferenceError: require is not defined.

Я поместил папку socket -lib в assets/www, где должен находиться любой другой источник Javascript. Здесь же находится файл index.html. Многие сайты используют <script src="/socket.io/socket.io.js"></script>, но для меня это не имеет смысла. Многие сайты также подразумевают использование node.js, но я нигде его не встречал.

Как я могу заставить это работать?

Редактировать ответ:

Я попробовал это в Chrome, и он дает мне Uncaught ReferenceError: require is not definedдля файла socket.io.js. Поэтому я решил использовать require.js прямо перед этим. Затем выдает ошибку Uncaught Error: Module name "socket.io-client" has not been loaded yet for context. Поскольку я не использую это, мне все равно. Однако, когда я пытаюсь подключиться, выдает ту же ошибку io is not defined. Когда я определяю его как var io = require('socket.io'), возникает ошибка Error: Module name "socket.io" has not been loaded yet for context: _ http://requirejs.org/docs/errors.html#notloaded. Я посмотрел на сайте, и он мне вообще не помогает. Когда я пытаюсь указать «require» в качестве аргумента функции, возникает другая ошибка:TypeError: undefined is not a function.

32
задан Ness 17 August 2012 в 15:57
поделиться