begin process at 2010 03 19 19:14:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Réseau & Internet

 > 

Client - Server

 > 

rtmp TServerSocket


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

rtmp TServerSocket

mercredi 9 janvier 2008 à 15:48:24 | rtmp TServerSocket

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 !!!
dimanche 20 janvier 2008 à 14:03:05 | Re : rtmp TServerSocket

OcHre

Réponse acceptée !

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.

jeudi 30 octobre 2008 à 10:19:42 | Re : rtmp TServerSocket

askil2000

Salut, merci de m'avoir éclairé sur ce sujet. Malheureusement je n'ai pas eu le temps de m'intéresser plus en détail à ce projet. J'espère reprendre à un moment une application client (flash) serveur (delphi) et pouvoir faire de la visioconférence, car les composants développés (FMS) sont de très bonne qualité.

Alex



Cette discussion est classée dans : flash, connect, tserversocket, 1d, rtmp


Répondre à ce message

Sujets en rapport avec ce message

Envoie d'images avec TServerSocket [ par neodelphi ] Bonjour à tous...Voila mon problème...Je voulais envoyer une image via une connexion avec un TServerSocket et un TClientSocket...Je ne sais po comment TServerSocket [ par intello2001 ] je voudrai savoir lequivalent en vb de levenement sendcomplete. HELP ME PLEASE ! TServerSocket en Multithread [ par Cyrille2 ] Double post pour une meilleure efficacité !Mon pb? il est la : http://www.delphifr.com/forum.aspx?Article=4117Merci d'avance :)Visitez http://www.visi tserversocket [ par intello2001 ] g un TServerSocket et je sais que l'on peut accepter plusieur conection (socket.accept (i)), mais apres je ne sais pas coment savoir lakel de ces cone tserversocket de me..... [ par intello2001 ] bon jarive toujours aps a reconaitre l'ID d'une multiconection :var Form1: TForm1;con: integer;implementation{$R *.dfm}procedure TForm1.ServerSocket1 Detecter flash Player dans delphi ?? [ par Fredelphi ] Bonjour,J'ai fait une appli avec des swf.J'ai d'ailleurs utilisé les sources pour lire un swf sur ce site.Comment faire pour pouvoir détecter si le fl QQ1 aurrai le composant TClientSocket et TServerSocket [ par JPKalham ] Car dans la version 7 de Delphi ils n'y sont pas !Merci ! Direct Connect en Delphi [ par aroslide ] Recherche personnes ayant travaillé sur le protocol Direct Connect afin de réaliser en collaboration un serveur Direct Connect plus leger et plus sta autorun d'un CD et exécution automatique depuis flash [ par alaintroll ] Je suis en train de réaliser un cd publicitaire, je voudrais créer un auto run, comment est ce que je dois m'y prendre.Je compte réaliser ce CD avec F Tserversocket [ par ProphetKy ] Quelqu'un peux me dire ou je peux trouver ce componsant : Tserversocket car pas moyen de le trouver et j'ai delphi 7 Entreprise ....


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales