Um chute:

Os pacotes com o IP da Intranet (192.168.1.1) n�o est�o passando pelo 
firewall. Jah o IP v�lido � roteado pelo Firewall que deve estar filtrando 
pacotes UDP.

------------------------------
Sergio Oliveira Jr.
Sun Certified Java Programmer
Desenvolvedor e Consultor Java
------------------------------



>From: "R.A.Harari" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: <[EMAIL PROTECTED]>
>Subject: [java-list] JMF - Java Media Framework help!!!!
>Date: Thu, 2 Aug 2001 18:42:52 -0300
>
>Ola Developers,
>
>Desenvolvi um aplicativo utilizando o JMF 2.1.1 onde um servidor controla 
>os players de uma ou mais sess�es e � o respons�vel por controlar 
>transmiss�es multi-unicast.
>Esta tudo funcionando mas quando o servidor � instalado no ambiente de 
>produ��o, em um linux caldera que est� atras de um firewall, n�o consigo 
>fazer um bind de streams provenientes da Internet, ou seja; o servidor 
>responde por 2 IPs (ip1 e ip2, por exemplo), onde o ip1 � da intranet e o 
>ip2 da internet. O fato � que os datagrams packets provenientes de uma 
>transmiss�o est�o chegando ao servidor corretamente ( verifiquei com um 
>aplicativo teste usando DatagramSocket ) mas o servidor n�o consegue 
>efetuar o bind. N�o ocorre erro mas tamb�m o stream n�o � capturado??!
>A seguir um peda�o do c�digo utilizado para inicializar a sess�o e capturar 
>os streams:
>
>
>     Object dataSync = new Object();
>      ...
>     void StartServer() {
>         SessionAddress localAddr;
>         SessionAddress destAddr;
>         ...
>         ipAddr = InetAddress.getByName(objSessao.address); // 
>objSessao.address � um endere�o IP
>         localAddr= new SessionAddress(InetAddress.getLocalHost(), 
>objSessao.port); // objSessao.port=20000
>         destAddr = new SessionAddress(ipAddr,objSessao.port);
>         objManager[i] = (RTPManager) RTPManager.newInstance();
>         objManager[i].initialize(localAddr);
>         BufferControl bc = 
>(BufferControl)objManager[i].getControl("javax.media.control.BufferControl");
>         if (bc != null) bc.setBufferLength(350);
>         objManager[i].addTarget(destAddr);
>         ...
>        System.out.println("Etapa 1");
>        try{
>          synchronized (dataSync) {
>          while (!dataReceived) {
>           if (!dataReceived) System.out.print(".");
>           dataSync.wait(1000);
>          }
>          }
>        } catch (Exception e) {}
>      System.out.println("Etapa 2");
>       ....
>     }
>
>onde a variavel dataReceived ser� setada no "update" quando um 
>"NewReceiveStreamEvent" ocorrer:
>
>     public synchronized void update( ReceiveStreamEvent evt) {
>     ...
>         if (evt instanceof NewReceiveStreamEvent) {
>           ....
>           synchronized (dataSync) {
>               dataReceived = true;
>               dataSync.notifyAll();
>           }
>
>         }
>     }
>
>
>Quando envio um stream capturado de uma webcam para o ip1(intranet) o 
>evento NewReceiveStreamEvent � disparado mas quando envio para o 
>ip2(internet) n�o acontece nada e o programa fica parado no while 
>(!dataReceived). Alguem sabe como resolver?
>
>[]s
>
>Ricardo A Harari
>[EMAIL PROTECTED]
>
>


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


------------------------------ 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
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a