2014-02-04 8 views
1

Примечание: относительно новое для веб-сайтов и общения в целом, поэтому, пожалуйста, дайте общий совет!Как подключить программу Android HTML/JS к серверу локальной сети?

Я работал над приложением LAN chat с помощью HTML/JS/CSS и хотел передать его на Android (уже работающий на ПК). Моя первая интуиция открыла файл HTML так же, как и на моем компьютере, а именно, сохранить на SD-карту и открыть ее с помощью проводника файлов. Когда я открываю приложение на своем компьютере, сервер разрешает квитирование и получает информацию о получении и получении; когда я открываю его на своем телефоне, сервер разрешает рукопожатие ... и все. После этого ответа с телефона нет. У меня такое чувство, что я пропустил что-то принципиальное о том, как Android обрабатывает программное обеспечение, но я понятия не имею, что ...

Я откинул все до простой связи с сервером.

На компьютере приведенный ниже код выводит «Hello:» на стороне сервера. На андроиде ничего.

HTML:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 

    <script src="http://192.168.1.112:4000/socket.io/socket.io.js"></script> 

    <link rel="stylesheet" href="style.css" /> 

</head> 
<body> 
<script type="text/javascript" src="scriptsTeacher.js"></script> 
</body> 
</html> 

Javascript Клиент:

(function(){  
    var App; 

    App = {}; 

    //sends connection event 
    App.socket = io.connect('192.168.1.112:4000'); 

    App.init = function() 
    { 
     App.socket.emit('hello', { }); 
    } 

    $(function() { 
    return App.init(); 
    }); 
}).call(this); 

Javascript Сервер:

(function() { 
    var io; 
    io = require('socket.io').listen(4000, "0.0.0.0"); 
    io.sockets.on('connection', function(socket) 
    { 
     socket.on('hello', function(data) 
     { 
      process.stdout.write("hello: "); 
     }); 

    }); 
}).call(this); 

Спасибо за любые советы!

+0

Ваш телефон Android подключен к вашему Wi-Fi? – rekire

+0

Да. Если его нет, файл html не будет загружаться локально. Когда он подключен к Wi-Fi, файл загружается нормально, но связи нет; говорить с собой просто не так весело ... – theahura

+0

Ну, выше вы писали, что ваш html-файл находится на вашей SD-карте. Если вы можете открыть этот файл через сеть, например, http://192.168.1.112:4000/, он должен работать – rekire

ответ

0

Пожалуйста, убедитесь, что ваш мобильный телефон подключен к вашему WiFi, поэтому ваш телефон должен иметь возможность подключиться к вашему серверу. Если не использовать ddns, например dyndns.org (ну не лучший выбор сегодня) и настроить переадресацию портов для всех соответствующих портов.

Также не забудьте открыть ваш html-файл через http. Возможно, сетевая связь с веб-сайтами отключена по соображениям безопасности.

Это должно решить вашу проблему.

+0

. Телефон определенно подключен к Wi-Fi и может подключаться к серверу - как я уже сказал, сервер разрешает рукопожатие , поэтому есть начальная связь ... она просто останавливается. Я действительно согласен с тем, что это, вероятно, вещь безопасности; что вы имеете в виду, открыв файл html через http? – theahura

+0

URL-адрес в браузере должен начинаться с http: //, а не файла: //. Это что-то о той же самой политике происхождения. Но для файловой схемы есть еще несколько ограничений – rekire

Смежные вопросы