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, но я нигде этого не вижу.
Как я могу сделать эту работу?
Reply edits:
Я попробовал это в 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
, Я посмотрел на веб-сайт, и он мне совсем не помог. Когда я пытаюсь поставить «требовать» в качестве аргумента функции возникает другая ошибка:TypeError: undefined is not a function
.