Discussion Board

ask questions, discuss topics, solve problems

This is a public Discussion Area  publicRSS

Thread

    • problema cu rtmps in LCDS
      Thread posted Sep 24 by vlad2009
      195 Views, 4 Comments
      Title:
      problema cu rtmps in LCDS
      Content:

      Lucrez la o aplicatie in AIR, si as vrea sa utilizez protocolul rtmps. Totul merge ok cu rtmp.

      Am configurat serviciul, am generat certificatul, serverul apache porneste fara erori. Cand incarc aplicatia, apare fereastra in care sunt intrebat daca accept certificatul, dau ok, dar apoi imi da eroare in flex:

      Error: Unable to initialize destinations on server: 

      Din ce vad in consola la tomcat, serviciul este initializat corect:

      ........................

      channels = (Typed Object #5 'flex.messaging.config.ConfigMap')
                channel = (Typed Object #6 'flex.messaging.io.ArrayCollection')
                  source = (Array #7)
                    [0] = (Typed Object #8 'flex.messaging.config.ConfigMap')
                      id = "my-rtmps"
                      type = "mx.messaging.channels.SecureRTMPChannel"
                      endpoint = (Typed Object #9 'flex.messaging.config.ConfigMap')
                        uri = "rtmps://localhost:2099"
                      properties = (Typed Object #10 'flex.messaging.config.ConfigMap')
                        serialization = (Typed Object #11 'flex.messaging.config.ConfigMap')
                          enable-small-messages = "true"
                    [1] = (Typed Object #12 'flex.messaging.config.ConfigMap')
                      id = "my-amf"
                      type = "mx.messaging.channels.AMFChannel"
                      endpoint = (Typed Object #13 'flex.messaging.config.ConfigMap')
                        uri = "
      http://localhost:8080/lcds/messagebroker/amf"
                      properties = (Typed Object #14 'flex.messaging.config.ConfigMap')
                        serialization = (Typed Object #15 'flex.messaging.config.ConfigMap')
                          enable-small-messages = "true"

      .............................................

      Eroarea corespunzatoare celei din flex, este afisata in consola la serverul tomcat si arata in felul urmator:

       [LCDS]09/25/2009 00:01:50.125 Thread[my-rtmps-SocketServer-WorkerThread-3,5,main
      ] failed to read Connection '17971079'; connection will close.
      java.io.IOException: sslEngine error during data read: CLOSED
              at flex.messaging.socketserver.SSLConnection.doRead(SSLConnection.java:2
      11)
              at flex.messaging.socketserver.Connection$ConnectionReader.run(Connectio
      n.java:771)
              at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
      ker.runTask(ThreadPoolExecutor.java:665)
              at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Wor
      ker.run(ThreadPoolExecutor.java:690)
              at java.lang.Thread.run(Thread.java:619)

      Intuitia imi zice ca este posibil sa fie ceva legat de certificat. L-am generat cu keytool in consola din windows, CN am pus localhost.

      keytool -genkey -alias vlad -keystore testcert

      O alta intrebare, cum vad certificatele pentru care am dat accept in AIR? Ca la IE in Internet options, nu il zaresc. Sunt puse in alta parte?

      Multumesc anticipat!

    Comments

    • AIR nu are mecanisme ca sa stabileasca ca un certificat este trusted sau le manage. Se bazeaza pe mecanismele oferite de sistemul de operare. deci ar trebui sa vezi certificatul in Windows.

    • K, si de ci cum ar trebui sa procedez?

      Am generat keystore, mai departe ce fac?

       

    • Am facut un proiect de test, de tip web, ca sa elimin o eventuala problema legata de AIR. Totul este la nivel minimalistic, doar populez un datagrid. Rulez in browser, ma intreaba daca accept certificatul, dau "Yes", apoi aceeasi eroare. Daca merg pe protocol obisnuit RTMP, testul merge fara probleme. 

      Deci pe unde sa mai caut, ce sa mai verific? 

    • Ufff, am descoperit ce imi lipsea. Aveam definit in data-management, la channels, doar my-rtmp, nu si my-rtmps. Deci acum merge testul ok. De asemenea merge si in AIR.

      Acuma o alta treaba. Nu pot sa las, daca am associatii, ambele canale definite. In cazul destinatiilor fara asociatii definit, nu sunt probleme.

      Error: Destinations with associations must have the same data store: dst1Dst has dataStore: my-rtmp:my-rtmps:true and dst2Dst has: :true

      Pana la urma nu ar fi o chestie, merg doar cu rtmps sau rtmp, dar asa de curiozitate, daca ma poate lamuri cineva, ar fi ok.