Подключите встроенное приложение Meteor Cordova к локальному серверу и базе данных

#android #cordova #meteor

Вопрос:

я пробую свое первое приложение Meteor Cordova. Мое приложение Meteor было автономным и работало нормально. Затем я добавил часть Cordova. Когда я запускаю приложение с

meteor запускает Android-устройство

на моем мобильном устройстве, подключенном через USB-кабель, все работает нормально, и я могу получить доступ к своей локальной базе данных, которая работает на порту 3001. Вот где возникает мой вопрос, когда я пытаюсь создать приложение с помощью

папка сборки meteor build —server=http: //127.0.0.1:3000

поскольку именно там запускается мой проект meteor, когда я использую meteor run, мое приложение, похоже, не подключается.

У меня есть код Meteor.startup(function () { console.log(__meteor_runtime_config__.ROOT_URL); }); , и при запуске приложения он говорит, что он запущен http://127.0.0.1:3000 но после этого я продолжаю получать сообщение об ошибке GET http://127.0.0.1:3000/sockjs/info?cb=h_i9p49ua9 net::ОШИБКА_CONNECTION_REFUSED

Я искал документацию, но не могу найти никаких пошаговых инструкций по созданию apk, который я могу установить на свое устройство Android и подключиться к моему локальному экземпляру Meteor на моем ПК, а также к базе данных.

Просто чтобы добавить в мой config.xml файл, который я получаю, это

Ответ №1:

Я думаю, проблема в том, что ваше приложение попытается подключиться к 127.0.0.1, но это localhost — это сам телефон! Если вы просто хотите попробовать это локально, получите локальный IP-адрес вашего сервера (кроме localhost / 127.0.0.1). Это часто 192.168.1.N бывает для некоторых N . Под Linux вы можете использовать ip a , чтобы увидеть все ваши IP-адреса для всех устройств. Найдите тот, который подходит для вашего ethernet или wifi-соединения (нет lo ). Используйте этот IP. Ваше Android-устройство, если оно подключено к той же сети, сможет решить эту проблему и подключиться к вашему серверу.

Комментарии:

1. Спасибо за ответ. Я пытался это сделать. Затем я столкнулся с двумя проблемами. 1. Мое приложение meteor запущено на локальном хосте, но если я перейду на свой ip: 3000, оно там не работает, так как же мой телефон узнает, где находится локальный сервер, или подразумевается, что он просто узнает? 2. Когда я создаю приложение с моим ip, я получаю это в config.xml файл «<источник доступа=» ://localhost» /> <источник доступа=» ://10.0.2.2″ />» . Есть ли где-нибудь еще, где мне также нужно изменить сервер, к которому подключено мобильное устройство?

2. Спасибо, что ваш совет сработал для телефона, а затем для сервера или meteor, я только что запустил meteor run —mobile-server 192.168.1.N .