Разъем для подключения к 8443 нормально, но не к 443? - PullRequest
0 голосов
/ 28 сентября 2011

Я делаю небольшое программирование сокетов на Android (обратите внимание, я сказал, что сокет, а не HttpClient или HttpUrlConnection), и я сталкиваюсь с очень странной проблемой, когда я не могу установить соединение с моим сервером Tomcat через порт 443, но8443 в порядке.Мой код очень прост, это все, что нужно сделать:

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    try{
        Socket s = new Socket();
        InetSocketAddress addr = new InetSocketAddress("10.1.1.1", 443);
        s.setKeepAlive(true);
        s.setSoTimeout(300000);
        s.connect(addr);
    }catch{<my catch statement>}
}

Вот и все.Я помещаю программу на свое устройство и запускаю ее, но она всегда выдает ошибку SocketException: Operation Timed Out.Однако если я переключу порт на стороне сервера и на стороне кода на 8443, мое устройство не сможет подключиться без проблем.Я ничего не делаю, кроме изменения номера в файле server.xml.

Несколько вещей, на которые интересно обратить внимание: если я запускаю ту же самую вещь в эмуляторе на моем компьютере, она работает просто отлично.Я также запустил wireshark для соединения между устройством и моим компьютером, и похоже, что он продолжает отбрасывать ICMP Destination Unreachable: Destination Port Unreachable.Как это может быть, когда я могу пропинговать его со своего устройства?

Я посмотрел, было ли это более уместным при сбое сервера, но из часто задаваемых вопросов там, кажется, больше ориентирован на профессиональные, а не личные проблемы с сервером.Кто-нибудь знает, почему Android-устройство не может подключиться к определенным портам на моем сервере, когда мой эмулятор может?И почему переключение на 8443 внезапно позволяет соединению работать?

1 Ответ

1 голос
/ 28 сентября 2011

Существует ли межсетевой экран между вашим устройством Android и вашим сервером, который отсутствует между вашим рабочим столом (эмулятором) и вашим сервером?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...