Statut d'une socket en C++
Fermé
int0x21
Messages postés
27
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
8 janvier 2004
-
1 avril 2003 à 10:44
marvinrouge - 9 avril 2003 à 21:38
marvinrouge - 9 avril 2003 à 21:38
A voir également:
- Statut d'une socket en C++
- Statut en ligne messenger - Guide
- Statut facebook - Guide
- Statut hors ligne instagram - Guide
- Enlever statut en ligne whatsapp - Guide
- Nouveau statut whatsapp - Accueil - WhatsApp
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é
}
}
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
1 avril 2003 à 10:56
1 avril 2003 à 10:56
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
int0x21
Messages postés
27
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
8 janvier 2004
1 avril 2003 à 11:56
1 avril 2003 à 11:56
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.
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
>
int0x21
Messages postés
27
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
8 janvier 2004
1 avril 2003 à 12:12
1 avril 2003 à 12:12
En fait sous Windows je suis toujours passé par TTCP (Delphi).
Je n'ai fait de la programmation socket pur que sous Unix.
Je n'ai jamais tapé dans l'API Winsock.
Je présume qu'il y a des callbacks pour le changement d'état ?
Je n'ai fait de la programmation socket pur que sous Unix.
Je n'ai jamais tapé dans l'API Winsock.
Je présume qu'il y a des callbacks pour le changement d'état ?
int0x21
Messages postés
27
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
8 janvier 2004
>
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
1 avril 2003 à 17:47
1 avril 2003 à 17:47
Yo SebSauvage,
Justement c'est tout l'objet de mon interrogation.J'aimerais resoudre ce problème une bonne fois pour toute.Je ne trouve pas ce que je veux sur le net...
Bye
Justement c'est tout l'objet de mon interrogation.J'aimerais resoudre ce problème une bonne fois pour toute.Je ne trouve pas ce que je veux sur le net...
Bye
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
1 avril 2003 à 18:01
1 avril 2003 à 18:01
Tu as regardé dans la doc de l'API Winsock ?
Sinon Google devrait ramener des résultats:
par exemple avec les mots (essayer des combinaisons):
winsock api C++ example tutorial examples tutorials sockets windows
Sinon Google devrait ramener des résultats:
par exemple avec les mots (essayer des combinaisons):
winsock api C++ example tutorial examples tutorials sockets windows
int0x21
Messages postés
27
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
8 janvier 2004
1 avril 2003 à 18:25
1 avril 2003 à 18:25
Yo,
Bien sur j'ai plein de tuts la dessus mais aucun ne correspondait précisément à ma requete.
Merci quand même.
Bye
Bien sur j'ai plein de tuts la dessus mais aucun ne correspondait précisément à ma requete.
Merci quand même.
Bye
1 avril 2003 à 11:30
Bye.
9 avril 2003 à 21:38
marvinrouge