socket.io - ReferenceError: io no está definido
Estoy escribiendo una aplicación para Android 2.3.5 (que también será compatible con iOS). Deseo transferir los datos del programa HTML / Javascript de la aplicación a un programa Python en un servidor (que utiliza el motor Twisted para recuperar los datos).
He intentado muchas cosas y he buscado en varios foros, respuestas, tutoriales y páginas web, incluyendo la mayoría de ellos aquí, y no puedo encontrar una respuesta. Aquí está el Javascript relevante que tengo en mi archivo 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
Si no puedes decirlo, todavía estoy bastante confundido de cómo funciona esto; Ni siquiera puedo probar nada. El error que sigue apareciendo esReferenceError: io is not defined
. Algunos sitios utilizan algo comovar io = require('socket.io');
. Pero entonces resulta en el mismo error:ReferenceError: require is not defined
.
Puse la carpeta socket-lib en asset / www, donde debería ir cualquier otra fuente de Javascript. Aquí también es donde está el archivo index.html. Muchos sitios usan<script src="/socket.io/socket.io.js"></script>
, pero esto no tiene sentido para mí. Muchos sitios también implican el uso de node.js, pero nunca lo veo en ninguna parte.
¿Cómo puedo hacer que esto funcione?
Responder ediciones:
Lo probé en Chrome, y me está dando unaUncaught ReferenceError: require is not defined
para el archivo socket.io.js. Así que decido la fuente en require.js justo antes. Entonces da el error.Uncaught Error: Module name "socket.io-client" has not been loaded yet for context
. Como no estoy usando esto, no me importa. Cuando intento la conexión, sin embargo, da lo mismo.io is not defined
error. Cuando lo defino comovar io = require('socket.io')
, el error esError: Module name "socket.io" has not been loaded yet for context: _ http://requirejs.org/docs/errors.html#notloaded
. Miré el sitio web, y no me sirve de nada. Cuando trato de poner "require" como un argumento de función, ocurre otro error:TypeError: undefined is not a function
.