socket.io - ReferenceError: io nie jest zdefiniowany
Piszę aplikację na Androida 2.3.5 (która będzie również kompatybilna z iOS). Chcę przenieść dane z HTML / Javascript aplikacji do programu Python na serwerze (który używa silnika Twisted do pobierania danych).
Próbowałem wielu rzeczy i przeglądałem różne fora, odpowiedzi, samouczki i strony internetowe - w tym większość z nich tutaj - i nie mogę znaleźć odpowiedzi. Oto odpowiedni Javascript w moim pliku 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
Jeśli nie możesz powiedzieć, nadal jestem zdezorientowany, jak to działa; Nie mogę nawet niczego przetestować. Błąd, który ciągle się pojawiaReferenceError: io is not defined
. Niektóre witryny używały czegoś takiegovar io = require('socket.io');
. Ale to powoduje ten sam błąd:ReferenceError: require is not defined
.
Umieszczam folder socket-lib w asset / www, gdzie powinny się znajdować inne źródła JavaScript. Tutaj również znajduje się plik index.html. Wiele witryn korzysta<script src="/socket.io/socket.io.js"></script>
, ale to nie ma dla mnie sensu. Wiele stron sugeruje również użycie node.js, ale nigdy go nie widzę.
Jak mogę to zrobić?
Odpowiedz na zmiany:
Próbowałem go w Chrome i to daje miUncaught ReferenceError: require is not defined
dla pliku socket.io.js. Zdecydowałem się więc na źródło w require.js tuż przed nim. Wtedy daje błądUncaught Error: Module name "socket.io-client" has not been loaded yet for context
. Ponieważ tego nie używam, nie obchodzi mnie to. Kiedy próbuję nawiązać połączenie, daje to samoio is not defined
błąd. Kiedy zdefiniuję to jakovar io = require('socket.io')
, błąd jestError: Module name "socket.io" has not been loaded yet for context: _ http://requirejs.org/docs/errors.html#notloaded
. Spojrzałem na stronę i to mi w ogóle nie pomaga. Gdy próbuję umieścić „require” jako argument funkcji, pojawia się inny błąd:TypeError: undefined is not a function
.