ранее я создал сайт ssl, который использует socket.io, а сервер использует node.js, код выглядит так:
//index.html (client side)
...
<script src="https://mysslsite.go.id/socket.io/socket.io.js"></script>
var socket = io('https://mysslsite.go.id');
io.on('connection', (socket) => {
...
//app.js (server side)
...
var insecureServer = http.createServer(app).listen(HTTP_PORT, function() {
console.log('Insecure Server listening on port ' + HTTP_PORT);
});
var SocketOps = {
allowUpgrades: true,
path: DEFAULT_ROOT+'/socket.io',
secure: true,
origins: '*:*'
};
var io = require('socket.io')(insecureServer, SocketOps);
...
из вышеприведенного кода при запуске приложения проблем нет, код работает нормально.
В настоящее время я устанавливаю socket.io javascript в свое гибридное приложение cordova.
следующий код у меня в кордове:
//index.html
<script src="https://mysslsite.go.id/socket.io/socket.io.js"></script>
<script src="https://mysslsite.go.id/siofu/client.js" type="text/javascript"></script>
<script>
var socket = io('https://mysslsite.go.id');
var uploader = new SocketIOFileUpload(socket);
</script>
Оказывается, что приложение Cordova имеет ошибку и возвращает предупреждение следующим образом:
"Uncaught TypeError: Невозможно прочитать свойство 'on' из неопределенного"
вопрос в том, почему это происходит? Когда на сайте запускается socket.io, все нормально.
что-то не так с моим кодом Cordova?
Спасибо,
С наилучшими пожеланиями,