begin process at 2013 06 19 10:17:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > CLASSE SOCKET SIMPLE HCSOCK

CLASSE SOCKET SIMPLE HCSOCK


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Niveau :Débutant Date de création :05/06/2004 Date de mise à jour :10/06/2004 19:04:19 Vu / téléchargé :5 974 / 606

Auteur : douxlapinblanc

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

HCSock v1.0 Beta

C'est une classe socket relativement primitive mais assez simple d'utilisation il me semble.  Je l'ai crée avec de nombreux commentaires pour que vous puissiez comprendre , mais cela ne devrait toutefois pas poser de gros problèmes...


Toutes les explications sont dans le zip, à noter qu'il est sous forme d'un projet Visual Studio 2003 (.net)  , même si le code est c++ .  
Le projet contient la classe en elle même ainsi qu'un petit programme client pour illuster son utilisation... (tres primitif)

A noter aussi que c'est une premiere version et surtout rapidement testé donc des bugs seront naturellement présents :(

J'espère que cela peux vous être utile :)

Note : je viens de mettre à jour la source , plus précisemment , j'ai réglé un bug qui était enfait un oubli de ma part : La méthode Disconnect du socket fermait l'event ce qui provoquait une boucle infinie lorsqu'on déconnectait...
J'ai donc enlevé WSACloseEvent() au niveau du Disconnect, et je l'ai mis uniquement dans le destructeur de la classe, ca marche bien mieux :)

PS2 : J'ai modifier la fonction accept qui quittait avant de se déclarer connecté...



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip LINUX: UTILISATION ETHTOOL (TEST DU LIEN ETHERNET, VITESSE, ... par Twinuts
Source avec Zip Source avec une capture [QT] ENVOI AUTO DE MAIL HEBDOMADAIRE par rob57530
Source avec Zip GESTIONNAIRE_FTP(CLIENT+SERVEUR) par cyberntique
Source avec Zip Source avec une capture MINI SERVEUR HTTP [WINDOWS] par ganjarasta
Source avec Zip Source avec une capture CLIENT DE TEST MODBUS TCP par brunovan

Commentaires et avis

Commentaire de Stormy le 06/06/2004 22:17:14

Y a rien de bien compliqué à créer un socket mais ta class me plait bien. Elle aborde pas mal d'options sur les erreurs notamment ... C'est pas mal du tout ++

Commentaire de BlackGoddess le 07/06/2004 09:54:54

le code est c++
=> non portable, avec l'api windows.

petits conseils :
- mettre un destructeur virtuel pour faciliter l'héritage
- utiliser des exceptions

char *tmp = new char[16];
tmp = inet_ntoa(sin.sin_addr);
return tmp;
=> aie aie aie ...
char *tmp = new char[16];
strcpy(tmp, inet_ntoa(sin.sin_addr));
return tmp;

Commentaire de douxlapinblanc le 08/06/2004 18:45:21

Merci Stormy.
Merci de la remarque BlackGoddess , je vais changé ça...

Commentaire de Damess57 le 26/06/2004 19:40:38

Bonjour .. et bravo cest  du beau codes. Mais jaurai toute de meme une question parceque ce code est principalement destiné aux programmeurs qui oeuvre avec VC et moi je programme avec Builder .. Mais je cherche depuis longtemps deja un moyen propre de transfere des fichiers de poste a poste sur le net...Je ne sais quel maniere proceder..Les fichier serai comme assez important  1Go et je voudrai aussi integrer la fonction resume.. Si quelqu un pouvais m aidez ou m aiguiller . merci d avance

Commentaire de douxlapinblanc le 04/07/2004 15:32:23

Plop Damess57,

Si j'ai bien comprit tu cherche à faire un transfert de fichier. Des protocoles ont été conçus dans ce but comme le protocole FTP. Si tu souhaite utiliser ce protocole, tu  devrais d'abord lire la rfc FTP. Tu peux également choisir de n'utiliser aucun protocole connu, et creer le tiens... Il faut savoir qu'un echange de fichier c'est juste une communication entre deux socckets de deux processus : Le premier ouvre le fichier a envoyer en lecture, puis il entre dans une boucle. Il lit un certain nombre d'octets dans le fichier(fread...), puis les envoi sur la socket (send....). L'autre processus lit les données sur sa socket(read...), puis les écrit dans un fichier (fwrite....). Au bout du compte tu auras donc un fichier copié. Tu peux utiliser des systemes d'acquitements de données comme le fait le protocole DCC de IRC....

J'espere que ca peut t'aider...
Amicalement , douxlapinblanc

Commentaire de love_tatu le 28/11/2004 14:33:44

Bonjour,

Moi j'aurait aimé savoir si grasse a ce code je peut modifier le protocole de communication d'un soft, c'est à dire lui donner plus d'option que ce qu'il offre actuellement.
en d'autre termes remplacer la dll ws2_32.dll par une que je fait avec cette classe ?

merci d'avance.

Commentaire de douxlapinblanc le 29/12/2004 12:06:10

Salut ,

Pour le remplacement de la dll winsock de windows ce n'est pas possible : La classe que je propose s'appui justement sur l'api windows. Cette classe sert pour developper des applications reseaux qui utilisent les sockets. EN fait , elle sert à simplifier l'utilisation des sockets , et se rapproche du controle Winsock que l'on peut trouver en visual basic par exemple.

Bonne journée.

Commentaire de RouaF le 01/02/2008 09:50:28

Code très propre, merci :)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 0,686 sec (4)

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