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.

questionAnswers(8)

yourAnswerToTheQuestion