Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Клиент (апплет) не может соеденится с сервером 
:(
    Опции темы
polakwilno
  Дата 16.8.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 14.8.2006

Репутация: нет
Всего: нет



Добрый день,

Столкнулся с такой проблемой, и на 99% уверен, что виноваты настройки винды или ИЕ, так как раньше все работало...

В общем есть клиент-сервер приложение (ява апплет - ява). Все просто, на сервере выполняю

Код

serverSocket = new ServerSocket(7000);


на стороне клиента (это ява апплет)

Код

    принт(1);
    clientSocket = new Socket(ИП, 7000);
    принт(2);


Почемуто клиент на находит сервера (1 выводится, а 2 - нет. Застревает на clientSocket = new Socket(ИП, 7000);)

Почему уверен что виноваты настройки? Потомучто клиент на С++ этот сервер находит.

Подскажите как решить эту проблему... 
ОС: виста
Браусер: ИЕ 7

Пробовал отключать антивирус, файрвол и настройки безопасности в ИЕ ставил на минимум - эффект тотже...


П.С. Вариант что введен неправильный ИП отпадает smile



Это сообщение отредактировал(а) polakwilno - 16.8.2007, 17:49
PM MAIL   Вверх
LSD
Дата 16.8.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(polakwilno @  16.8.2007,  18:48 Найти цитируемый пост)
Почемуто клиент на находит сервера (1 выводится, а 2 - нет. Застревает на clientSocket = new Socket(ИП, 7000);)

1. как минимум после пары минут, ты должен получить в консоль ошибку SocketTimeoutException.
2. апплет может устанавливать соединение, только с сервером с которого был загружен.



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
polakwilno
Дата 16.8.2007, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 14.8.2006

Репутация: нет
Всего: нет



1. Пробовал дописать SocketTimeoutException но получил ошибку, что таймаут обрабатывается уже установленным  "catch (IOException e)", но никакой ошибки я не получаю. Раньше этот эксепшн срабатывал, когда сервер был выключен... Теперь ничего не происходит... Пробовал писать ИП на угад - тоже никакого сообщения....

2. Т.е. если я запускаю сервер со своего компа с внешним ИП х, аплет загружаю тоже со своего компа, то все должно работать??

Это сообщение отредактировал(а) polakwilno - 16.8.2007, 18:22
PM MAIL   Вверх
LSD
Дата 16.8.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(polakwilno @  16.8.2007,  19:13 Найти цитируемый пост)
Раньше этот эксепшн срабатывал, когда сервер был выключен... Теперь ничего не происходит... Пробовал писать ИП на угад - тоже никакого сообщения....

Напиши тест:
Код

Socket socket = new Socket(ИП, 7000);
socket.close();

и посмотри заработает ли он.

Цитата(polakwilno @  16.8.2007,  19:13 Найти цитируемый пост)
Т.е. если я запускаю сервер со своего компа с внешним ИП х, аплет загружаю тоже со своего компа, то все должно работать??

Да, но только он должен коннектится строго по тому IP по которому был скачан (на тот случай если у тебя несколько сетевых интерфейсов).

P.S. А ты уверен, что у тебя нигде "молча" не перехватывается исключение?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
polakwilno
Дата 16.8.2007, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 14.8.2006

Репутация: нет
Всего: нет



Кто такие сетевые интерфейсы? smile Это зависит от меня или от моего провайдера? Как это проверить?

Тестил такой код:

Код

public boolean connectToServer(){
        new Thread(){
            public void run(){
                try {
                 input.setText(input.getText() + "Connecting to " + hostname + ":" + port + "\n");
                 clientSocket = new Socket(hostname, port);
                 clientSocket.close();
                 input.setText(input.getText() + "Connection closed");
                } catch (UnknownHostException e) {
                    input.setText(input.getText() + "Неправильный адрес\n" + e.getMessage());
                    setError(e.getMessage());
                } catch (IOException e) {
                    input.setText(input.getText() + "Сервер оффлайн.\n" + e.getMessage());
                    setError(e.getMessage());
                }
                
                input.setText(input.getText() + "ххххх\n");
            }
        }.start();
        return true;
    }



И получил такой вывод:

Connecting to ИП:7000

И все....


А как еще может перехватыватся исключение? Это единственный try блок во всем коде...

Добавлено через 12 минут и 15 секунд
О, в низу есть консолька явы, там вот какая ошибка:

Exception in thread "Thread-271" java.security.AccessControlException: access denied (java.net.SocketPermission ИП:7000 connect,resolve)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkConnect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at Client200708161902$1.run(Client200708161902.java:139)



Почему access denied?

PM MAIL   Вверх
polakwilno
Дата 16.8.2007, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 14.8.2006

Репутация: нет
Всего: нет



Вроде нашел причину на одном форуме:

Цитата

Up to 1.5 works fine (We use a certificate and hostname manager to accept all).
Did the upgrade to 1.5.01 and now we get the following:


Действительно, вроде раньше у мну была версия постарее, теперь 1,6

Совет как исправить:

Цитата

You Have two options. one is to sign the applet and second is to change the java.policy file of the user in jre/ext/security directory.


Нашел инфу, буду учится подписывать апплет smile Надеюсь поможет, потом напишу о результате smile

Это сообщение отредактировал(а) polakwilno - 16.8.2007, 19:27
PM MAIL   Вверх
polakwilno
Дата 17.8.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 14.8.2006

Репутация: нет
Всего: нет



:(

сделал все как написано тут: http://www.ericsson.com/mobilityworld/sub/...dt_sign_applets


И тоже самое:

Exception in thread "Thread-8" java.security.AccessControlException: access denied (java.net.SocketPermission ИП:7000 connect,resolve)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkConnect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at Client200708171628$1.run(Client200708171628.java:139)


Как с этим бороться? :(


Это сообщение отредактировал(а) polakwilno - 17.8.2007, 17:28
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0841 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.