Я пишу приложение для 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
.