Programmation de socket
Fermé
_ahmed
Messages postés
41
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
30 avril 2009
-
28 mai 2007 à 21:42
IUTBay_dieu Messages postés 2 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 29 mai 2007 - 29 mai 2007 à 16:48
IUTBay_dieu Messages postés 2 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 29 mai 2007 - 29 mai 2007 à 16:48
A voir également:
- Programmation de socket
- Application de programmation - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Voici une base de données présentant la programmation d'un théâtre. elle comporte 4 tables : pieces, seances, categories, tarifs. combien de pièces de danse et de pièces de musique, en tout, ont un tarif réduit strictement inférieur à 15 euros ? - Forum Python
- 'Pip' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. ✓ - Forum Python
1 réponse
IUTBay_dieu
Messages postés
2
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
29 mai 2007
29 mai 2007 à 16:48
29 mai 2007 à 16:48
voici la programmetion de la socket du client:
// création soket //
int connec;
int support=socket(AF_INET, SOCK_STREAM, 0);
struct hostent *hote;
struct sockaddr_in adr_dialogue;
char message[255];
if (support==-1)
{
printf(" Erreur de configuration soket \n");
exit(-1);
}
else
{
printf(" Connection etablie. \n");
}
// Recuperation de l'adresse//
if ((hote=gethostbyname("nom_serv"))==NULL)
{
printf(" Erreur d'hote \n");
}
else
{
printf(" Hote recuperer \n");
}
// Préparation a la connection //
raz(&adr_dialogue);
adr_dialogue.sin_addr.s_addr=((struct in_addr*)(hote->h_addr))->s_addr;
adr_dialogue.sin_port=htons(*N°_de_port);
adr_dialogue.sin_family=AF_INET;
Ensuite plus qu'as connecter.
le serveur:
int support, valeurderetour;
struct hostent *hote;
struct sockaddr_in adr_ecoute;
struct sockaddr_in adr_service;
char message[255];
int taille_adress=sizeof(struct sockaddr_in);
int connexion;
// Créer sockette //
support=socket(AF_INET, SOCK_STREAM,0);
printf("socket ok \n");
// Atacher sockette //
// préparation des informations //
raz(&adr_ecoute);
adr_ecoute.sin_family=AF_INET;
adr_ecoute.sin_addr.s_addr=INADDR_ANY;
adr_ecoute.sin_port=htons(N°_de_port);
raz(&adr_service);
// Atachement //
valeurderetour=bind(support,&adr_ecoute, sizeof(struct sockaddr_in));
printf("atachement =>ok\n");
// Processus zombi //
signal(SIGCLD, SIG_IGN);
// se metre a l'écoute //
listen(support, 10);
printf("ecoute => ok\n");
Il faut faire une RAZ sur les sockette a chaque début d'exécution:
code:
void raz(buf)
struct sockaddr_in *buf; {
int i;
char *ptr;
ptr=(char *)buf;
for(i=0;i<sizeof(struct sockaddr_in);i++){
*ptr=0;ptr++;
}
}
Ensuite il faut faire attention a mettre les même N°_de_port pour que le client et le serveur communique entre eux.
// création soket //
int connec;
int support=socket(AF_INET, SOCK_STREAM, 0);
struct hostent *hote;
struct sockaddr_in adr_dialogue;
char message[255];
if (support==-1)
{
printf(" Erreur de configuration soket \n");
exit(-1);
}
else
{
printf(" Connection etablie. \n");
}
// Recuperation de l'adresse//
if ((hote=gethostbyname("nom_serv"))==NULL)
{
printf(" Erreur d'hote \n");
}
else
{
printf(" Hote recuperer \n");
}
// Préparation a la connection //
raz(&adr_dialogue);
adr_dialogue.sin_addr.s_addr=((struct in_addr*)(hote->h_addr))->s_addr;
adr_dialogue.sin_port=htons(*N°_de_port);
adr_dialogue.sin_family=AF_INET;
Ensuite plus qu'as connecter.
le serveur:
int support, valeurderetour;
struct hostent *hote;
struct sockaddr_in adr_ecoute;
struct sockaddr_in adr_service;
char message[255];
int taille_adress=sizeof(struct sockaddr_in);
int connexion;
// Créer sockette //
support=socket(AF_INET, SOCK_STREAM,0);
printf("socket ok \n");
// Atacher sockette //
// préparation des informations //
raz(&adr_ecoute);
adr_ecoute.sin_family=AF_INET;
adr_ecoute.sin_addr.s_addr=INADDR_ANY;
adr_ecoute.sin_port=htons(N°_de_port);
raz(&adr_service);
// Atachement //
valeurderetour=bind(support,&adr_ecoute, sizeof(struct sockaddr_in));
printf("atachement =>ok\n");
// Processus zombi //
signal(SIGCLD, SIG_IGN);
// se metre a l'écoute //
listen(support, 10);
printf("ecoute => ok\n");
Il faut faire une RAZ sur les sockette a chaque début d'exécution:
code:
void raz(buf)
struct sockaddr_in *buf; {
int i;
char *ptr;
ptr=(char *)buf;
for(i=0;i<sizeof(struct sockaddr_in);i++){
*ptr=0;ptr++;
}
}
Ensuite il faut faire attention a mettre les même N°_de_port pour que le client et le serveur communique entre eux.