begin process at 2008 08 20 15:34:18
1 228 921 membres
286 nouveaux aujourd'hui
14 259 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : rtmp TServerSocket [ Réseau & Internet / Client - Server ] (askil2000)

rtmp TServerSocket le 09/01/2008 15:48:24

askil2000
Bonjour,

Je me lance dans une application Serveur utilisant le protocole rtmp.
La manip est de remplacer un serveur flash (Flash Media Server) par mon appli delphi, en utilisant le composant TServerSocket.

J'ai déjà réussi à connecter mon client (en flash) et suis confronté certe au cryptage, mais aussi à la méthode de connexion.

Si qq'un a une piste, un bout de code, ou un moyen de m'encourager ?

Fin de trame reception dans l'evenement OnRead:

¢· x�8;�7;©�2;>ÓW�4;Ä�7;.�5;�1A;Óã�4;ÀÁ6�15;¯üþ- '»xÙ.�7;4Å " 0ðñ &_ l],Bk�5;è�1; �2;�1E;B·�5;?õúþC  ¼!0�16;�F;Ü�6;r�1B;X�4;9�E;�2;g�14;�1;%ê�1;ó�10;ÿQ �6;!¿wL.?wbÿËÿÈþi þ?�17;w"ÿUÿÚ£€ö>o0?Õí�5;R{8ÖT�5;îþÇ ô?.0�3;�1;ç�14;�2;�7;connect?ð�3;�3;app�2;�8;dossierfms/�8;flashVer�2; WIN 9,0,47,0�6;swfUrl�2;ìurl�5;tcUrl�2;$rtmp://ip:port/dossierfms/�4;fpad�1; audioCodecs@f8à videoCodecs@_ videoFunction?ð�7;pageUrl�2;�1D;url �2; pseudo�6;

�3;�1;3�14;�2;�1A;FCSimpleConnect.sp.connect�5;�2; pseudof�2;�1D;FCConnectionLight.lum.connect�5;@¾@C�1;:�14;�2;�1B;FCSetBandwidth.band.connect�5;@°�1D;@°�1D;C;�14;�2;�1C;FCSetBandwidth.band.setRates�5;@°�1D;@°�1D;Ã�2;�1C;FCSetBandwidth.band.setRates�5;@°�1D;@°�1D;C3�14;�2;�1A;FCSimpleConnect.sp.connect�5;�2; pseudoC�1;�19;�14;�2; createStream@�5;C)�13;�16;FCAVPresence.webcam.av�1;C(�14;�2;�1B;FCAVPresence.webcam.connect�5;C6�14;�2;�1D;FCSimpleConnect.sp.changeName�5;�2; pseudo

C�7;ÖH�14;�2;�6;_error@�5;�3;�4;code�2;�19;NetConnection.Call.Failed�5;level�2;�5;error

Merci !!!

Re : rtmp TServerSocket le 20/01/2008 14:03:05

OcHre

Salut, je m'étais lancé il y a pas si longtemps dans la programmation d'un client rtmp. Pour répondre partiellement à ta question je précise que les flux ne sont absolument pas cryptés (du moins pas nativement) ,  pour ce qui est de la méthode de connexion elle est trés simple:

1) Le client en envoie un paquet de 1536 bytes. qui commence par 03.

2) Le serveur repond par un paquet de 2 x 1536 qui commence par 03 aussi.

3) Le client renvoie les 1536 premiers bytes du paquet envoyé par le serveur  apres le premier byte (ici 03) ainsi que toutes les informations nécessaires à la connexion. Ces informations dependent evidemment du serveur mais je te conseille de sniffer des connexions sur plusieurs serveurs differents tu devrais voir une structure commune se dessiner.

4) Le serveur répond par un connection success (je simplifie ce n'est evidemment pas un "string", le paquet à ici une structure etc. Fais un dump d'une session sniffée et essaye de l'envoyer je pense que ca devrait marcher ).

5) Le client envoie un paquet sendstartdata, même remarque que pour le 4, avec en plus un doute quant à l'obligation de ce paquet, bref sniffing une fois de plus .

Pour le suite je suis à peu prés sur, mais je peux me tromper, que tout depend du serveur.

Voila j'espère avoir pu t'aider un minimum, pour la suite je te conseille de fouiller sur www.osflash.org, tu trouveras pas mal de détails concernant la structure des paquets, pas mal d'infos sur le protocole AMF qui directement inspiré RTMP. Voir aussi le projet Red5.

PS: Pour les paquets initiaux du handshake j'ai simplifié a l'extrême puisque la méthode utilisée pour générer un handshake semblable aux clients et serveurs flash est maintenant connue, je ne l'ai pas développée pour simplifier l'approche, et parcqu'elle n'est pas indispensable pour établir une connexion,  mais tu peux la trouver sur osflash sinon fais-le moi savoir et je la developperais ici.


Rions un peu en attendant la mort.



Classé sous : flash, connect, tserversocket, 1d, rtmp

Participer à cet échange

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS