[VB6] Creation d'un protocole ( style HDLC)

Creation d'un protocole ( style HDLC) [VB6] - Programmation

Marsh Posté le 28-11-2001 à 08:18:37    

Salut,
 
Je recherche quelqu'un capable de m'aider ou de me donner des liens pour un projet réseau
 
Mon programme doit pouvoir envoyer un fichier (peut importe l'extension) à travers un réseau local
 
Le problème est que je doit créer mon propre protocole (choix du type d'envoie de paquet,taille des paquet,..) et surtout je doit gérer la deconnexion du cable réseau et lors de sa reconnection le transfert doit recommencer avec reprise du paquet précédent ou autre si meilleure solution dans la limite d'un certain temps
 
De plus je dois vérifier l'arrivée du fichier arrivée sous la forme initiale pas de tramme manquante etc ...
 
 
Merci pour votre aide

 

[edtdd]--Message édité par zaib3k--[/edtdd]


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Marsh Posté le 28-11-2001 à 08:18:37   

Reply

Marsh Posté le 28-11-2001 à 15:58:58    

:bounce:  
up


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Marsh Posté le 28-11-2001 à 17:10:13    

en vb6 c'est possible tout ça ?
Le C/C++ me paraît mieux convenir, mais bon je comprends que c'est plus dur bien sûr ...


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 28-11-2001 à 17:18:22    

c pour un projet que je dois faire en VB only


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Marsh Posté le 28-11-2001 à 18:53:07    

zaib3k a écrit a écrit :

Salut,
 
Je recherche quelqu'un capable de m'aider ou de me donner des liens pour un projet réseau
 
Mon programme doit pouvoir envoyer un fichier (peut importe l'extension) à travers un réseau local
 
Le problème est que je doit créer mon propre protocole (choix du type d'envoie de paquet,taille des paquet,..) et surtout je doit gérer la deconnexion du cable réseau et lors de sa reconnection le transfert doit recommencer avec reprise du paquet précédent ou autre si meilleure solution dans la limite d'un certain temps
 
De plus je dois vérifier l'arrivée du fichier arrivée sous la forme initiale pas de tramme manquante etc ...
 
 
Merci pour votre aide  




 
je sais qu'il existe un API, te permettant de gérer le réseaux, la connections et connections...
 
Tu trouveras de l'aide sur www.vbfrance.com, tu as un lien en bas à gauche qui te renvera sur une page nouvelle, avec 184 API dont certaines résolu;  
 
www.vbfrance.com/visitelien.asp?Val=59&ValB=L ...
 
Declare Function WNetDisconnectDialog Lib "mpr.dll" ( _
                 ByVal hwnd As Long, _
                 ByVal dwType As Long) As Long  
Declare Function WNetConnectionDialog Lib "mpr.dll" ( _
                 ByVal hwnd As Long, _
                 ByVal dwType As Long) As Long  
 
Versions :
Windows 95/98 : Oui
Windows NT : A partir de 3.1
Windows 2000 : Oui
 
Description :
Cette fonction affiche la boîte de dialogue de connexion d'un lecteur réseau (ou imprimante réseau).  
hwnd est le handle de la fenêtre appelante.  
dwType est une constante définissant le type de ressource à connecter (voir tableau ci-dessous).  
Suivant les cas, la fonction retourne une valeur définit dans l'autre tableau ci-dessous.
 
 
 
Constante Définition  
Const RESOURCETYPE_DISK = &H1 Connexion à des ressources de type disque.  
Const RESOURCETYPE_PRINT = &H2 Connexion à des ressources de type imprimante.  
Const WN_SUCCESS = 0 Pas d'erreur.  
Const WN_OUT_OF_MEMORY = 8 Mémoire insuffisante pour effectuer l'opération.  
Const WN_FUNCTION_BUSY = 170& La fonction est occupée (essayer de nouveau).  
Const WN_EXTENDED_ERROR = 1208& Erreur réseau étendue (plus d'infos sur l'erreur avec WNetGetLastError).  
Const WN_NO_NETWORK = 1222& Pas de réseau trouvé.

 
tu peux aussi utiliser la fonctions filecopy pour tansférer les fichiers; au lieu de mettre c:\ tu mettra  seulement i si c'est la lettre du réseaux ou autres...
 
 :hello:

Reply

Marsh Posté le 28-11-2001 à 19:06:23    

en passant par winsock c'est hyperfacile.
 
Télécharge Neti depuis mon site pour t'en convaincre.
 
Tu as même les sources du client incluse si tu veux jeter un coup d'oeil au protocole

Reply

Marsh Posté le 29-11-2001 à 09:58:48    

Je viens de faire ce genre d'appli, copier des fichiers a travers un réseau local, et effectivemment la méthode est assez simple (les API suscitées suffisent). Par contre, de la à creer un protocole juste pour ca, je n'en voit pas l'interet.

Reply

Marsh Posté le 29-11-2001 à 10:15:13    

Je suis dans le groupe de zaib3k pour faire ce projet...
En fait le "protocole" demande consiste en cela:
- On envoie une demande d'envoi au destinataire (un ACK)
- Celui accepte ou refuse
- S'il accepte, on lui envoie n paquets
- le client renvoie un accusé de reception (on devrait faire un contrôle d'erreur mais je pense kon va l'oublier)
- une fois l'accusé de réception reçu par le serveur, celui envoi n autre paquets jusqu'aà la fin
- etc...
 
En cas de déconnexion, le serveur ne recoit pas l'accuse de reception... Dans ce cas il va ettendre et réenvoyer un ACK touts les n secondes.
Quand le câble se rebranche, il renvoie l'ACK, le client lui envoie uen accusé de réception le dernier paquet entier kil a reçu, et le serveur lui renvoie le paquet suivant :le transfert reprend...
 
Voila pour le protocole, on utilise toujours TCP/IP (on a pas la prétention de réinventer la brouette) mais c'est cette gestion de loa déconnection qui nous pose probleme...
 
Merci

Reply

Marsh Posté le 29-11-2001 à 10:43:57    

il nous faut refaire un protocole HDLC simplifié en VB

 

[edtdd]--Message édité par zaib3k--[/edtdd]


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Marsh Posté le 02-12-2001 à 21:23:40    

:bounce:  
UP


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed