begin process at 2012 05 29 17:54:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

pb bind pour un serveur avec djgpp/gcc


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb bind pour un serveur avec djgpp/gcc

vendredi 6 février 2004 à 21:18:18 | pb bind pour un serveur avec djgpp/gcc

Guillaume of IUT

Salut à tous, j'ai un problème. Voici le code du serveur en C. C'est pratiquement l'exemple qui est livré avec les librairies tcp lsck073b. Le probleme est à l'exécution. Le bind foire et le perror m'affiche "No such device <ENODEV>"

/*
* Demo programme for libsocket for DJGPP
* This demonstrates the use of libsocket.
* This is server.
* This file will compile also under Linux.
*
* Copyright 1997, 1998 by Indrek Mandre
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>

void affichage(struct sockaddr_in *ptr)
{
printf("\nFamille : %li\n", ntohl(ptr->sin_family));
printf("Port : %i\n", ntohs(ptr->sin_port));
printf("IP : %s\n", inet_ntoa(ptr->sin_addr));
printf("Longueur : %ld\n", sizeof(&ptr));
}

int main(void)
{
struct sockaddr_in in;
struct sockaddr_in peer_in;
int sock;
char PORT[256];
char MESSAGE[256];
int newsock;
int len;
char buf[256];
char HOST[256];

/*
* Now we read from user on which port he wants the server crawl and
* which message will be sent to clients.
*/

printf ("Entrer l'adresse ip : ");
gets (HOST);

printf ("Entrer le numero de port : ");
gets (PORT);

printf ("Enter message we send to clients: ");
gets (MESSAGE);

/*
* At first we have to create socket.
* After that we bind it on desired port and after that we begin
* to listen it.
*/

memset ( &in, 0, sizeof ( struct sockaddr_in ) );

sock = socket ( AF_INET, SOCK_STREAM, 0 );

in.sin_family = AF_INET;
// in.sin_addr.s_addr = INADDR_ANY; // Remplit mal la structure sockaddr_in au niveau de l'adresse ip vérifiable avec la fonction d'affichage
in.sin_addr.s_addr = inet_addr ( HOST ); // Remplace INADDR_ANY
in.sin_port = htons ( atoi ( PORT ) );

affichage(&in);

if ( ( bind ( sock, (struct sockaddr *)&in, sizeof ( struct sockaddr_in ) ) ) < 0 )
{
perror("\nBIND DE MERDE !!! ");
exit(-1);
}

listen ( sock, 5 );

/*
* Infinite loop.
* We use accept to get new client. The socket is blocking, so accept
* waits while new client arrives. Accept returns the new socket's
* descriptor. peer_in will be filled with the address of the client.
* We receive the message that client send and send our message back.
* After that we close the connection.
*/

for (;;)
{
len = sizeof ( struct sockaddr_in );

newsock = accept ( sock, (struct sockaddr *)&peer_in, &len );

recv ( newsock, buf, 256, 0 );
send ( newsock, MESSAGE, 256, 0 );

printf ("From %s: %s\n", inet_ntoa ( peer_in.sin_addr ), buf );

close ( newsock );
}

return 0;
}
vendredi 13 février 2004 à 13:30:10 | Re : pb bind pour un serveur avec djgpp/gcc

neoTHGLF

Bonjour,
Je ne pense pas que ça vienne de ton programme. Ca doit venir de ta configuration réseau. Désolé, je ne peux pas t'aider plus, je ne vois pas vraiment d'où ça vient. Peut-être que ENODEV est une interface comme eth0. Le programme cherche l'interface ENODEV et ne la trouve pas car elle n'existe pas ? peut-être...
vendredi 13 février 2004 à 13:41:10 | Re : pb bind pour un serveur avec djgpp/gcc

neoTHGLF

Bonjour,
Sur groups.google.fr :
"ENODEV (No such device) indicates that the kernel was compiled without a driver for the device in question."
Si ça peut t'aider.
Sinon, la page de recherche, j'ai pas trop regardé dedans peut être trouveras-tu ton bonheur : [ Lien ]

Sinon, j'ai vu dans un groupe quelqu'un qui utilise DJGPP et qui a le même probleme sur comp.os.msdos.djgpp

@+.


Cette discussion est classée dans : port, include, in, struct, sockaddr


Répondre à ce message

Sujets en rapport avec ce message

Création d'une socket .. [ par bubbless ] Bonjour !à l'aide !! J'ai programmé tout un systèle réseau / client, que j'ai enfin pu tester grâce à l'aide d'une âme charitable sur ce forum, et je Pb d'affichage avec des listes doublement chianées [ par Orezza ] Bonjour a tous,voila je dois faire un petit analyseur syntaxique, en ce moment j'en suis au prémice de mon code et j'ai dejà un Big problem d'affichag pb avec communication rs232 [ par kekenobi ] salut a tous et a toutes!voila j'ai un petit pb avec mon programme portant sur la communication RS232:en fait je reçoit une trame de 19 caractères et Lire sur port parallèle! [ par tof0256 ] Bonjour,J'aimerais lire des données sur le port parallèle. J'aimerai utiliser les 8 bit de donnée pour cela. J'ai une fiche DB25 ou j'ai relié les PIn bios.h [ par rakma74 ] Bonjour,je suis a la recherche d'un "bios.h" pour interfacer un port serie...Quelqu'un saurait-il ou je peux le télécharger...merci d'avance.Si je ne Problème pour compiler du c [ par flox39 ] Salut à tous Je suis en galère avec du code qu'on m'a passé je n'arrive pas a le compilerl'erreur c error C2447: missing function header (old-style fo Chat en C sous Linux [ par slobberbone ] Bonjour à tous et bonne Année 2005 ! Voilà j'ai un projet à faire, il consiste à faire une messagerie instantanée ( Client & Serveur ) J'arrive à fai à vos sockets, prêt, GO [ par mimou20052005 ] à vos sockets, prêt, GO Bon voila les gars j'ai enfin pu réaliser un client et un serveur en C++ (win 32 console application), mais j'ai un petit prob Pb socket [ par jcqguill ] Salut, j'utilise une sockaddr déclaré :         struct sockaddr interface = { AF_INET, "lo" } (ou "eth0") je rempli des structures du type :   &nb Envoi , reception et "analyse" d'un packet TCP [ par firemax ] Bonjour Avec un pote nous avons commencer un scanner de port pour en apprendre un peu plus sur la prog reseau en C . Mais une fois que nous avons eu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,858 sec (4)

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