Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» проблема с Java-аплетом

Автор: odl455
Дата сообщения: 26.05.2003 12:47
Нужно из аплета законектиться к локально висящему серверу (например 127.0.0.1:2345).
У меня происходит какое-то секьюрити-исключение. Кто-нибудь знает в чем проблема и реально ли её решить в принципе? Может аплету такие действия вообще запрещены?
Автор: Ryback
Дата сообщения: 26.05.2003 13:09
аплет может устанавливать сетевые соединения только с узлом, с которого он был загружен
Автор: odl455
Дата сообщения: 26.05.2003 13:19
Ryback

Да я об этом как раз подумал. Но вроде как ещё в случае если аплет подписан, то разрешается и с локальным ... ну да ладно. Придётся пользоваться аплетвиевером.


Добавлено
Ryback

Так, стоп. А если я загружаю локально html-страничку, с которой запускается аплет, то разве 127.0.0.1 не является адресом сервера, с которого был загружен апплет?
Автор: Ryback
Дата сообщения: 26.05.2003 13:54
odl455

Цитата:
Так, стоп. А если я загружаю локально html-страничку, с которой запускается аплет, то разве 127.0.0.1 не является адресом сервера, с которого был загружен апплет?


страничка загружена с http://127.0.0.1/test.html или через File->Open?
Автор: odl455
Дата сообщения: 26.05.2003 14:32
Через File->Open.

Добавлено
У меня же вэб-сервер не стоит на машине, первый вариант наверное не прокатит.
Автор: Ryback
Дата сообщения: 26.05.2003 14:55
odl455

Цитата:
Через File->Open.


скорее всего в этом и есть проблема. Поставь апач.
Автор: javaner
Дата сообщения: 28.05.2003 09:16
kakim metod konnekta ispolzuesh? cherez Socket? ili RMI? RMI gemoroy. ya zabil na RMI konnekti i toko polzuyus Socketami. tam nikakih exceptionov
Автор: odl455
Дата сообщения: 28.05.2003 11:43
javaner

Банально вот так "S= new Socket("127.0.0.1",2345);"

А ты точно из апплета коннектишься?
Автор: javaner
Дата сообщения: 28.05.2003 12:59
hm... poprobuy tak,

Socket connection=new Socket(getCodeBase().getHost(),"portNumber");

ne mog pokazat polniy tekst exceptiona?
Автор: odl455
Дата сообщения: 28.05.2003 14:32
com.ms.security.SecurityExceptionEx[]: cannot access "127.0.0.1:2345"

да забыл уточнить, это ошибка в случае запуска странички с помощью IE 6.0

если запускать с помощью appletviewer - то никаких проблем нет.


Добавлено
javaner

Цитата:
Socket connection=new Socket(getCodeBase().getHost(),"portNumber");


попробовал, всё тоже самое
Автор: dmka
Дата сообщения: 28.05.2003 15:06

Цитата:
да забыл уточнить, это ошибка в случае запуска странички с помощью IE 6.0
если запускать с помощью appletviewer - то никаких проблем нет.


Там настройки безопасности разные. В первом случае аплет грузится с какого-то вражеского ;) сервера, а во втором стартует как локальное приложение на твоей машине.

Чтобы заработало, положи страничку с аплетом на сервер - поставь апач или ms iis
Автор: odl455
Дата сообщения: 28.05.2003 15:15
dmka

Это понятно что так оно заработает. Но нужно чтобы работало локально. Есть вариант, в котором вроде можно переопределить функции секьюрити-менеджера. Никто не сталкивался?
Автор: rew
Дата сообщения: 28.05.2003 15:31
вроде как то можно настроить менеджер безопасности, те пометить локалхост как трастед сайт - ковыряй настройки интернета, но сам не пробовал, хз

Добавлено
таки да, чухай в internet options->security->trusted sites убери галку с https и добавь http://localhost
Автор: odl455
Дата сообщения: 28.05.2003 15:42
rew

Нет. Не помогло. То же секьюрити-исключение генерится и апплет не грузится.
Автор: rew
Дата сообщения: 28.05.2003 15:45
перезагрузи ксплорер
кроме того попробуй полазить по custom levelам, там в java permissions поковыряйся

Добавлено
в любом случае, я там ковырялся, у меня заработало
Автор: odl455
Дата сообщения: 28.05.2003 15:48
rew

а коннектишься так же как я?


Добавлено
Задал вобще полные права в Java-привилегиях для http://localhost и 127.0.0.1
Перегрузил тачку. Не помогло. Блин.
Автор: dmka
Дата сообщения: 28.05.2003 15:59
2 odl455
А подписать аплет не судьба?


Цитата:
Но нужно чтобы работало локально

А зачем такой изврат, если не секрет? Запускай его как обычное ява приложение и все дела.

CodeBase распечатай на консоль. У тебя там host 127.0.0.1 или что-то другое?
Автор: odl455
Дата сообщения: 28.05.2003 16:12
dmka


Цитата:
А подписать аплет не судьба?


Дело помоему не в подписи. Ругается не на подпись ведь или её отсутствие.


Цитата:
А зачем такой изврат, если не секрет? Запускай его как обычное ява приложение и все дела.


Просто нужно открывать именно страничку так как там ява-скриптом вызываются некоторые инициализационные функции апплета. А показывать всё это нужно в закрытой сетке.


Добавлено
dmka


Цитата:
CodeBase распечатай на консоль. У тебя там host 127.0.0.1 или что-то другое?


getCodeBase().toString() вернула "file:/D:/Data/work/Institut/java/lab3/"
Автор: javaner
Дата сообщения: 28.05.2003 17:00
de ne nujen nikakoy apach. u menya bez web-servera rabotaet. bilo bi ludshe esli dal narodu posmoret code appleta i servera. i eshe, poigray nastroikami Java plugin control panela. mojet pomojet
Автор: dmka
Дата сообщения: 28.05.2003 17:01

Цитата:
getCodeBase().toString() вернула "file:/D:/Data/work/Institut/java/lab3/"


Ну так jvm логично полагает, что аплет был загружен с этого урл-а и секурити не дает тебе разрешения связаться с другим хостом (127.0.0.1).

Лезть на другие хосты, писать в файлы и делать другие потенциально-вредные действия разрешается подписанным аплетам, с согласия хозяина броузера.

Подпиши, разреши и будет тебе счастье.
Автор: rew
Дата сообщения: 28.05.2003 17:02

Цитата:
а коннектишься так же как я?

угу, аплет открывает сокет

Добавлено
я в секьюрити дал жаве все что можно, во всех разделах: internet, intranet и трпр
Автор: dmka
Дата сообщения: 28.05.2003 17:07
2 javaner

Цитата:
i eshe, poigray nastroikami Java plugin control panela. mojet pomojet


Какой такой плагин выбрасывает com.ms.security.SecurityExceptionEx?
У него там M$ JVM
Автор: rew
Дата сообщения: 28.05.2003 17:16
тогда я прогнал, работает только с плагином, с мс жвм нет
Автор: javaner
Дата сообщения: 28.05.2003 17:20

Цитата:
Какой такой плагин выбрасывает com.ms.security.SecurityExceptionEx?
У него там M$ JVM




Добавлено
dmka

oops, gonu ya.

danuu, ustanovi JRE. mojet s etogo nachinat nado bilo
Автор: odl455
Дата сообщения: 28.05.2003 17:48
Я резрешил Яве делать всё что можно во всех зонах. Это не помогает.
Исходники я бы выложил, но они большие, да и толку от них немного. Локально на машине на интерфейсе 127.0.0.1 висит сервер. А апплет при инициализации коннектиться к нему. При этом страничка должна быть загружена с локальной папки с помощью браузера. Если использовать appleviewer - то проблем никаких нет.
Очевидно проблема с IE 6.0.
Автор: rew
Дата сообщения: 28.05.2003 18:02
odl455
есть проблема поставить плагин? или есть условие работать только с мс?

Цитата:
appleviewer - то проблем никаких нет

так это понятно, у них как правило в полиси прописано что ограничений нет
Автор: odl455
Дата сообщения: 28.05.2003 18:07
rew

Какой плагин-то? Скажи где его взять?
Автор: rew
Дата сообщения: 28.05.2003 18:10
http://java.sun.com/j2se/1.4.1/download.html
тебе нужен jre, плагин входит в комплект
Автор: odl455
Дата сообщения: 28.05.2003 18:24
rew

У меня стоит JRE 1.3.1
Автор: rew
Дата сообщения: 28.05.2003 18:29
в интернет опшинсах в адвенсед видно строку java(sun)?
я не помню точно, но вроде в jre1.3 плагин мог и не входить... есть проблема скачать 8мег и установить более свежую версию?

Добавлено
чухай сюда http://java.sun.com/getjava/index.html кликни на даунлоад, оно само скачает плагин, если нужно

Страницы: 12

Предыдущая тема: Консольное приложение на Delphi 7


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.