Cette source est écrite en VB.NET.
Elle contient une bibliothèque de classes permettant d'écrire et de lire des objets sur un flux (Stream).
Des exemples d'utilisation de cette DLL sont inclus dans le ZIP :
- le premier montre comment utiliser la DLL pour écrire et lire des objets dans un fichier.
- le deuxième montre comment utiliser la DLL pour écrire et lire des objets sur un flux réseau entre 2 sockets.
Source / Exemple :
Toutes les sources sont dans le ZIP
Conclusion :
Salut à tous,
la DLL que j'ai écrite en VB .NET permet d'écrire sur n'importe quel flux des objets de tout type.
La méthode que j'avais trouvé sur Internet était de sérialiser l'objet sur le flux, seulement,
avec un flux réseaux (socket ou autres), il fallait fermer le flux pour que l'objet soit réceptionné de l'autre côté.
J'ai donc eu l'idée de sérialiser l'objet d'abord dans un MemoryStream et ensuite, d'écrite le tableau de bytes obtenu sur le NetworkStream ou sur tout autre stream. Bien entendu, comme on ne connait pas d'avance le nombre de bytes que l'objet occupe, j'écrit ce nombre avant les bytes de l'objet. Ce nombre, quant à lui, fait toujours 8 bytes puisqu'il s'agit d'un entier long.
Voilà, le principe est donc assez simple mais cette DLL m'est très utile et j'espère qu'elle le sera pour vous aussi.
Petite remarque : pour l'écriture des objets, j'utilise la sérialisation, il faut donc que chaque classe d'objet à écrire sur le flux soit précédée de "<Serializable> _" pour que cela fonctionne. Il faut aussi que ces classes soient dans le même espace de nom pour pouvoir être désérialisées depuis un autre projet. Le mieux est donc de les mettre dans un même espace de nom.
Dans le fichier ZIP, vous pourrez voir la DLL et sa source ainsi qu'un example d'utilisation avec un flux FileStream et un flux NetworkStream entre 2 socket.
Remarque : le projet a été écrit avec SharpDevelop que vous pouvez télécharger gratuitement sur
http://www.icsharpcode.net/OpenSource/SD/Download/
Si vous préférez utiliser Visual Studio .NET, il vous suffit de créer une solution vide et 5 projets :
2 bibliothèque de classe, 1 application console et 2 application WinForm.
Il ne vous restera plus qu'à récupérer les fichiers .vb contenant les sources des projets.
Pour l'application client/serveur, le login et le mot de passe à entrer pour avoir le message de bienvenue sont : login et passwd.
J'espère que cette source vous plaira et vous sera utile. Pour ceux qui n'ont pas envie d'utiliser les socket, le Framework .NET met à disposition un espace de nom System.Runtime.Remoting permettant de créer des objets à distance sur un serveur par exemple, et ensuite, de les manipuler comme de simples objets locaux. Je posterai un exemple complet lorsque je l'aurai terminé.
Cet exemple montrera comment modifier à distance le contenu d'une base de données et comment gérer l'accès multiples à un même enregistrement.
Soyez indulgent, ceci est la première source que je poste sur le site et je ne développe en .NET que depuis 5 mois bien que je sois développeur et donc, que je travail avec le .NET tous les jours.
24 juil. 2009 à 19:06
24 juin 2006 à 00:06
je suis debutant en VB.NET mais je ne cherche qu'a apprendre ;-)
je developpe une appli pour faire de la videoconference, pour cela j'utilise directX9
par contre je ne sais pas dutout comment faire pour transmettre les frames "images" capturer de la webcam
ainsi que l'audio a l'autre application "application distante"...?
si vous avez un tutorial ou une source bien expliquer car je rappel je suis un debutant dans le domaine
alors franchement un grand merci.
cordialement,
31 mai 2005 à 07:41
30 mai 2005 à 08:46
Je vais essayer de préparer un ptit truc pour répondre à ta question.
Je dois seulement chercher car je ne connais pas la réponse comme ça, dsl.
Mais promis, dès que je trouve, je le poste ici.
28 mai 2005 à 11:19
je voudrais savoir si il est possible de faire transmettre un video en stream pris d'une web cam ????
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.