Winsock + : winsock amélioré (établi des connexions cryptées)

Soyez le premier à donner votre avis sur cette source.

Vue 3 981 fois - Téléchargée 645 fois

Description

j'ai pris un ctrl winsock et je lui ai ajouter des fonctions. Je l'ai rendu plus stable. J'ai inclu une super procédure qui permet d'éviter la surutilisation de la connexion internet et du processeur en créer une file d'attente pour les envoits. Donc plus de paquets fusionnés ensembles. plus besoins de marquer :

dim data as string
socket.getdata data,vbstring,bytestotal
msgbox data

maintenant c'est
msgbox socket.getdata(bytestotal)

On peut stocker une ininit de chose dans sa collection qui est très simple d'utilisation.

VOUS ME DIREZ : ÇA VA FAIRE UN OCX À TRAINER DE PLUS mais détrompez vous, ma source est un .ctl donc, vous l'ajouter comme nouveau contrôle active x et il sera compilé avec votre EXE. Je vais travailler sur une fonction pour établir une connexion cryptée.

pis j,ai inclu une autre fonction qui permet d'obtenir le hash md5 d'une chaine de caractère. Ce qui peut être utilise pour vérifier l'intégrité des données.

NOUVEAUTÉ :
ÉTABLISSEMENT D'UNE CONNEXION CRYPTÉE AVEC TCP. SOYEZ PATIENT POUR UDP

Source / Exemple :


call "LeZip"

Conclusion :


J'amerais savoir comment on fait pour importer les propriétés définies dans l'éditeur VB et comment on fait pour détecté si on est dans l'éditeur VB et non dans l'éxécution du programme?

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
30
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
3 mai 2004

a la limite tu met un DoEvents et sa marche très bien pour pas fusionner des paquets
Messages postés
216
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 mai 2004

mais la liste d'attente évite d'avoir a diviser les paquets. Si tu fais un chat et qu'une personne envoie un texte avec des CRLF, ils seront divisez eux aussi. Pi ca évite de surcharger la mémoire. Les commentaires, c pas mon fort. Je vais corriger des bugs et ja vais ajouter des fonctions comme l'établissement d'une connexion cryptée. Pi quand je parle de stabilité, je parle au sujet des évènements connect et close qui se déclenchent desfois pas sur mon ordi.QUOI! tu dis que mon TCP marche pas, je ne suis pas un tweet. J'AI TESTÉ MA SOURCE AVANT. ca marche bien. Il y a juste une petit erreur dans le code de la timer dans le programme d'exemple (corrigé). P.S. pour entendre les erreurs, il faut ce fier à l'évènement error de mon CTRL. Pi qu'est ce que tu pense de ma facon de gérer les tags? Il va y avoir bien des modifications.
Messages postés
26
Date d'inscription
jeudi 1 mai 2003
Statut
Membre
Dernière intervention
21 novembre 2003

moi je suis ton supporter!!!
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
Je reviens donc, après avoir regardé ton code :
- Déjà, on ne perd pas de temps à lire les commentaires ... il n'y en a pas : pas facile de découvrir à quoi peut bien servir telle ou telle fonction, ou même à savoir ce que viens faire la collection dans le projet, ou encore ce que viennent faire les modules d'encodage64 ...
- Et ... ça bug : Pour le TCP, si tu fais un "Envoyer" sans avoir précédemment le serveur en éEcoute", le texte n'est pas envoyé, ça c'est normal, mais, même si tu passes le serveur en "Ecoute", il ne reçoit pas les textes suivants !
- Tu parlais de stabilité des winsocket : Tu utilises l'OCX Winsocks dans ton controle ! Alors, quel intérêt ?
- Etant donné que tu as simplifié les commandes (je crois que s'est le but de ton appli, en fait), le composant Serveur ne peut communiquer qu'avec un seul client puisque tu fais un "Accept RequestID" sur le serveur en écoute. --> Faudra revoir la structure même du contrôle si tu veux pouvoir l'utiliser en multiclients.

La prochaine fois que tu fais un user control et que tu veux pouvoir le tester dans une appli, je te conseille ceci :
- Crée un projet pour ton controle utilisateur, et un second projet dans lequel tu voudras insérer le controle.
- Regroupe ces deux projets au sein d'un groupe de projet
Avec ça, tu t'apercevra vite que quelques anomalies notamment, celle là :
Si tu compiles ton user control, et que tu l'utilises dans un nouveau projet, tu t'apercevra que les propriétés que tu vas entrer en mode création sont perdues dès que tu lances l'application. Regarde les évenements InitProperties, ReadProperties, WriteProperties, ainsi que l'aide sur les user control de msdn.

Bref, tu as dû bien t'amuser à faire fonctionner tout ça, et il t'en reste encore pas mal à faire ...
(fin du roman)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
Salut Gab
"plus stable" ? je ne connais pas de problème de stabilité aux WinSockets ...
Pour ce qui est des paquets qui s'entassent les uns derrière les autres, si tu sépares les envois avec un timer, tu perds en efficacité.

J'ai personnellement résolu le problème en faisant mon propre protocole d'échanges : Quand j'envoie des données, elles sont ibligatoirement encadrées par :
MotClé & Données & SéparateurMessage
où, par exemple, MotClé "Message" & Chr(0) et SéparateurMessage Chr(1)
A la réception, il n'y a plus qu'à tronçonner la chaine reçue :
- par paquets séparés par des Chr(1) pour séparer chaque message
- puis à l'intérieur de chaque message, par paquets séparés par des Chr(0) pour séparer le MotClé des Données.

Je vais quand même jeter un oeil à la source, les critiques étant toujours faciles ...
à plus ...
Jacck

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.