Statut d'une socket en C++
int0x21
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
marvinrouge -
marvinrouge -
Hello all,
Voila mon but est de déterminer,quelle est le statut d'une socket seulement en le faisant disons manuellement sans utiliser le composant activeX de Builder 5.En fait j'aimerais savoir comment fait la composant pour savoit le statut de la socket car je suis entrain de créer une classe de socket qui fera la meme chose (en gros) que cette activeX plus quelque trucs en plus.
De plus étant un débutant en C++ j'aimerai savoir comment on fait pour instancier une classe dans un fichier principal main(la classe se situant dans un fichier externe).Que faut t-il insérer,que faut t-il rajouter dans l'include.
Merci de votre contribution.
Bye
Voila mon but est de déterminer,quelle est le statut d'une socket seulement en le faisant disons manuellement sans utiliser le composant activeX de Builder 5.En fait j'aimerais savoir comment fait la composant pour savoit le statut de la socket car je suis entrain de créer une classe de socket qui fera la meme chose (en gros) que cette activeX plus quelque trucs en plus.
De plus étant un débutant en C++ j'aimerai savoir comment on fait pour instancier une classe dans un fichier principal main(la classe se situant dans un fichier externe).Que faut t-il insérer,que faut t-il rajouter dans l'include.
Merci de votre contribution.
Bye
A voir également:
- Statut d'une socket en C++
- Statut en ligne messenger - Guide
- Comment enlever le statut en ligne sur instagram - Guide
- Statut facebook - Guide
- Statut concentration iphone - Guide
- Partager le statut concentration ✓ - Forum iPhone
4 réponses
***Classe.hpp***
class Toto {
public:
Toto();
Toto(int i);
Toto(const Toto&);
void m();
private:
int n;
};
***Classe.cpp***
#include "Classe.hpp"
Toto::Toto() { // constructeur sans argument
n= 0;
}
Toto::Toto(int i) { // constructeur avec un entier en argument
n = i;
}
Toto::Toto(const Toto& t) { // constructeur DE COPIE
if (&t!=this) // pour ne RIEN faire si on écrit a =a; => GROS DANGERS si champs dynamlqiues dans la classe ...
{
n = t.n;
}
return *this;
}
Toto::m() {
}
***Main.cpp***
#include "Classe.hpp"
void main(void) {
Toto t1; // variable 'automatique' => destruction automatique
Toto* t2 = NULL; // variable 'dynamique' => allocation (new) et destrcution (libération mémoire par delete) à la charge du développeur
t2 = new Toto(); // appel u constrcuteur sans arguments
Toto* t3 = NULL;
t3 = nrw Toto(4);
Toto t4(t1);
Toto* t5 = NULL;
t5 = nrw Toto(t1);
if (t2!=NULL) {
delete t2;
t2 = NULL; // facultatif mais FORTEMENT conseillé
}
if (t3!=NULL) {
delete t3;
t3 = NULL; // facultatif mais FORTEMENT conseillé
}
if (t5!=NULL) {
delete t5;
t5 = NULL; // facultatif mais FORTEMENT conseillé
}
}
class Toto {
public:
Toto();
Toto(int i);
Toto(const Toto&);
void m();
private:
int n;
};
***Classe.cpp***
#include "Classe.hpp"
Toto::Toto() { // constructeur sans argument
n= 0;
}
Toto::Toto(int i) { // constructeur avec un entier en argument
n = i;
}
Toto::Toto(const Toto& t) { // constructeur DE COPIE
if (&t!=this) // pour ne RIEN faire si on écrit a =a; => GROS DANGERS si champs dynamlqiues dans la classe ...
{
n = t.n;
}
return *this;
}
Toto::m() {
}
***Main.cpp***
#include "Classe.hpp"
void main(void) {
Toto t1; // variable 'automatique' => destruction automatique
Toto* t2 = NULL; // variable 'dynamique' => allocation (new) et destrcution (libération mémoire par delete) à la charge du développeur
t2 = new Toto(); // appel u constrcuteur sans arguments
Toto* t3 = NULL;
t3 = nrw Toto(4);
Toto t4(t1);
Toto* t5 = NULL;
t5 = nrw Toto(t1);
if (t2!=NULL) {
delete t2;
t2 = NULL; // facultatif mais FORTEMENT conseillé
}
if (t3!=NULL) {
delete t3;
t3 = NULL; // facultatif mais FORTEMENT conseillé
}
if (t5!=NULL) {
delete t5;
t5 = NULL; // facultatif mais FORTEMENT conseillé
}
}
Si c'est sous Windows, tu peux taper directement dans l'API Winsock.
http://www.vbip.com/winsock-api/resources/msresources.asp
http://www.vbip.com/winsock-api/resources/msresources.asp
Merci à toi pour ce lien.
J'ai omis de préciser que je développe sous windows XP avec l'EDI C++ Builder 5 mais je suis entrain de développer mes propres classes pour gérer la création de sockets de différents types(TCP,UDP,RAW,ICMP...).Cepandant je ne sais pas si tu as dejà travaillé avec cet EDI ou DELPHI(c'est du pareil au même) mais lorsque tu utilise un composant TTCP (qui est en fait un activeX: mswinsck.ocx),alors ton programme ne marche que sur ta bécane.Si tu l'execute sur une autre box on a droit au message d'erreur:"classe non inscrite".
D'ou ma motivation de réécrire des classes équivalentes en C++.
Cepandant je me demandais un truc:
Comment fait le composant pour savoir le statut d'une socket à un moment donné?(par exemple losqu'in fait TCP1->State;).
Toi par exemple pour savoir si une socket est en écoute ou pas tu ferais comment ? tu tente un listen et si ca marche pas c'est que la socket est en écoute???
Merci beaucoup.
Bye.
J'ai omis de préciser que je développe sous windows XP avec l'EDI C++ Builder 5 mais je suis entrain de développer mes propres classes pour gérer la création de sockets de différents types(TCP,UDP,RAW,ICMP...).Cepandant je ne sais pas si tu as dejà travaillé avec cet EDI ou DELPHI(c'est du pareil au même) mais lorsque tu utilise un composant TTCP (qui est en fait un activeX: mswinsck.ocx),alors ton programme ne marche que sur ta bécane.Si tu l'execute sur une autre box on a droit au message d'erreur:"classe non inscrite".
D'ou ma motivation de réécrire des classes équivalentes en C++.
Cepandant je me demandais un truc:
Comment fait le composant pour savoir le statut d'une socket à un moment donné?(par exemple losqu'in fait TCP1->State;).
Toi par exemple pour savoir si une socket est en écoute ou pas tu ferais comment ? tu tente un listen et si ca marche pas c'est que la socket est en écoute???
Merci beaucoup.
Bye.
Bye.
marvinrouge