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] -------------------------------------------------------------------------