Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1428 connectés 

  FORUM HardWare.fr
  Programmation
  C

  serveur en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

serveur en C

n°1102669
balakam
Posté le 31-05-2005 à 11:34:47  profilanswer
 

Bonjour
Je voudrai savoir quelle fonction faut il utiliser pour lancer un serveur en C avec toujours le meme numero de port. Car quand je lance mon serveur a chaque fois je suis oblige de changer le numero du port sinon erreur.
Merci

mood
Publicité
Posté le 31-05-2005 à 11:34:47  profilanswer
 

n°1102672
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 31-05-2005 à 11:36:36  profilanswer
 

socket(), bind(), listen() etc...


---------------
J'ai un string dans l'array (Paris Hilton)
n°1102702
balakam
Posté le 31-05-2005 à 11:44:36  profilanswer
 

Quand j'utilise le meme port je recoie erreur bind

n°1102709
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 31-05-2005 à 11:49:41  profilanswer
 

poste le source stp


---------------
J'ai un string dans l'array (Paris Hilton)
n°1102717
balakam
Posté le 31-05-2005 à 11:54:54  profilanswer
 

voici la source:
 
void    add_server(t_env *e)
{
  int                   s;
  struct sockaddr_in    sin;
 
  s = socket(PF_INET, SOCK_STREAM, 0);
  sin.sin_family = AF_INET;
  sin.sin_port = htons(e->port);
  sin.sin_addr.s_addr = INADDR_ANY;
  if ((bind(s, (struct sockaddr*)&sin, sizeof(sin))) == -1)
    {
      my_putstr("bind" );
      exit (1);
    }
  if (listen(s, 42) == -1)
    exit (1);
  e->fd_type[s] = FD_SERVER;
  e->fct_read[s] = server_read;
  e->fct_write[s] = NULL;
}

n°1102724
ali0baba
Posté le 31-05-2005 à 12:03:55  profilanswer
 

normal tu ne ferme jamais tes sockets quand ton serveur quitte
 
utilise close ou free

n°1102725
Mr Mala
Posté le 31-05-2005 à 12:04:17  profilanswer
 

Essaye ça :

Code :
  1. int reuse = 1;
  2. r = setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (int *)&reuse, sizeof(reuse));
  3. if (r == -1) {
  4. perror("setsockopt: SO_REUSEADDR" );
  5. };


AVANT le bind()


Message édité par Mr Mala le 31-05-2005 à 12:07:57
n°1102726
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 31-05-2005 à 12:08:33  profilanswer
 

il est ou le accept() ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1103113
balakam
Posté le 31-05-2005 à 16:32:34  profilanswer
 

ok merci ca a l air de marcher


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  serveur en C

 

Sujets relatifs
client serveur wifi[PHP] Aller sur un serveur local avec un proxy
Serveur Web : EasyPHP upgradé ou install manuelle ?[easyphp] Rendre accessible le serveur depuis un réseau local [résolu]
Wildcard DNS & serveur linuxJeu Client/Serveur A l'aide
quel est mon type de serveur pour certificat SSL?[RESOLU] - IIS - Serveur indisponible
Ftp_*list sur serveur windows en PHP 5Design de serveur de socket
Plus de sujets relatifs à : serveur en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR