Applets nao possuem permissao de utilizar recursos do sistema quando
rodados via WEB.

Repare que se vc rodar esse applet na mesma maquina que vc fez, isso eh,
localhost, ele vai funcionar. Isso se deve `a questoes de seguranca do
Java. Existem 2 casos possiveis:

1) Se a maquina que estah tentando rodar o applet eh a mesma onde estah
o .class, esse applet pode TUDO. Isto eh, o Java considera que, como vc
possui o .class, foi vc quem programou, logo, deve saber o que estah fazendo.

2) Se a maquina que estah tentando rodar o applet eh diferente da maquina
onde estah o .class (via web), por questoes de seguranca, Java nao permite
que esse applet utilize qualquer recurso do host onde o applet executara.
Nao IMPRIMIRA, nao GRAVARA ARQUIVOS nem ABRIRA SOCKETS (entre outros).

Solucoes possiveis:

1) Existe uma forma de vc autenticar o host de origem, dando-lhe
permissoes para fazer esses acessos. Para isso, o costumeiro eh que vc
assine seu applet. Jah utilizou bb.com.br? Jah viu o "teclado virtual"?
Na primeira vez que vc acessa o site, lembra que aparece aquela mensagem:
"Confiar no conteudo desse site?". Aquele eh um applet assinado.
Existem alguns tutoriais bons que ensinam passo a passo como fazer essa
assinatura. Estou sem meus arquivos aqui, senao eu jah te mandaria um. Qq
busca no google sobre isso jah acha boas referencias. (* Se nao me engano,
as assinaturas para o I.E. e para o Netscape sao diferentes ).

2) Um conhecido meu disse que achou uma opcao no proprio browser para
adicionar "sites confiaveis". Ele cadastrou a URL onde estava o applet que
desejava, mas parece que nao funcionou. Talvez valha a pena tentar mais
nisso.

3) Usar a minha solucao! (nao recomendada!) Como esse problema que eu tive
era para ser resolvido em uma disciplina, achei muito trabalho fazer todos
os passos de autenticar meu applet (embora nao pareca ser tao complicado,
para a disciplina nao valia a pena). Fiz com que meu applet submetesse
todos os dados para um Servlet em um Tomcat que tinha rodando. Esse
servlet pegava os dados e montava uma pagina igual, porem em HTML.
Lembre-se que meu problema era fazer com que os dados fossem impressos.
Para o seu caso, que deseja abrir uma conexao via socket, acho que vai ter
que insistir com o applet.


Acho que eh isso,
  []'s

  Bruno do Amaral.





 On Wed, 26 Feb 2003 [EMAIL PROTECTED] wrote:

> Olá a todos!
> Eu estou tentando implementar um cliente em Java utilizando socket, mas esse
> cliente é um applet, o programa gera a seguinte exceção:
> java.security.AccessControlException: access denied
> (java.net.SocketPermission "IP":"PORTA" connect, resolve)
>
> O código é o seguinte:
>         try{
>             client = new Socket(InetAddress.getByName(SERVER_ADDR),PORT);
>             input = new ObjectInputStream(client.getInputStream());
>             output = new ObjectOutputStream(client.getOutputStream());
>             ThreadLe = new ReadThread(txtArea,this);
>         }
>         catch(IOException e){
>             e.printStackTrace();
>         };
> Esse problema não ocorre quando faço isso num JFrame, será que alguém poderia me
> auxiliar.
>
> Obrigado a todos.
> William Massaharu Ono
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> historico: http://www.mail-archive.com/java-list%40soujava.org.br
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a