Я запускаю сервер на моей машине разработки, с которой я пытаюсь подключиться к своему планшету Android, но я получаю ConnectionException
, потому что он не подключается.Не удается подключиться к серверу node.js от android
Я протестировал точный клиентский код на моей машине разработки (и используя общедоступный IP-адрес вместо «localhost»), и это работает. Но как только я переключусь на тестирование на Android, нет такой удачи.
Примечание: это похоже на проблемы в Why I get nothing back from node.js server on android и Connecting to a nodejs server via android and getting a timeout exception, но ни в результате полезные ответы.
SERVER (Node.js)
var net = require('net');
var couchDB = require('./serverTest');
var async = require('async');
async.parallel([
function(callback) {
console.log('first');
couchDB.getMapData(function(data){
var mapDataString = JSON.stringify(data);
callback(null, mapDataString);
});
},
function(callback) {
console.log('second');
var server = net.createServer(function(c) { //'connection' listener
console.log('server connected');
c.on('end', function() {
console.log('server disconnected');
});
callback(null, c);
}).listen(7000, null);
}],
function(err, responses) {
var socket = responses[1];
var mapDataString = responses[0];
console.log('writing data');
socket.write(mapDataString);
socket.end();
});
Client (Java)
public class NodeClientTest {
private static final String IP_ADDRESS = "142.169.196.74";
public static void main(String[] args){
String jsonString = null;
Socket clientSocket = null;
try{
clientSocket = new Socket(IP_ADDRESS, 7000);
byte[] buffer = IOUtils.toByteArray(clientSocket.getInputStream());
jsonString = new String(buffer);
System.out.print(jsonString);
}
catch(IOException e){
e.printStackTrace();
}
finally{
try{
clientSocket.close();
}
catch(Exception e){//not initialized
e.printStackTrace();
}
}
}
}
Я думаю, что это, возможно, придется что-то делать с брандмауэром Windows, но я пошел и позволил 'Node.js' для связи через брандмауэр. Есть что-то еще, что мне нужно сделать, или я пропал?
В домашней сети? Вай-фай? Маршрутизатор позволяет перенаправлять порт? – curtisk
В сети компаний, не уверены в переадресации портов – kburbach