All pastes #277671 Raw Edit

Untitled

public text v1 · immutable
·published 2006-12-13 13:54 UTC
rendered paste body
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <errno.h>
#define p 30002

main()
{
  int sock;
  u_short port;
  char message[1024], NomServeur[20];
  struct sockaddr_in adresse;
  struct hostent *adresse_ip;

  sock = socket(AF_INET,SOCK_STREAM,0);
  if (sock <0)
    {perror("Saloperie de Socket qui s'ouvre pas");
    return(-1);}

  fprintf(stderr, "\n Nom du serveur de jeu :\n");
  scanf("%s",NomServeur);
  fprintf(stderr,"NomServeur:%s",NomServeur);

  adresse_ip = gethostbyname(NomServeur);
  if (adresse_ip ==NULL)
    {perror("Problème d'obtention d'adresse");
    return(-1);}

  memcpy( (char *)&adresse.sin_addr, (char*)adresse_ip->h_addr,adresse_ip->h_length);

    adresse.sin_family = AF_INET;
  adresse.sin_port = htons((u_short) p);

  if (connect(sock, (struct sockaddr *)&adresse, sizeof(adresse))== -1)
    {perror("Problème de connexion");
    return(-1);}


  fprintf(stderr, "Message à envoyer : \n");
  scanf("%s",message);
  if (write(sock,message,strlen(message)+1) == -1)
    { perror(" Erreur d'émission ou d'écriture dans la socket");
    return(-1);}

  fprintf(stderr," Le message est envoyé \n ");
  fprintf(stderr," Message reçu? \n ");
  memset(message,0,sizeof message);
  if ((read(sock,message,1024) == -1))
    {
      perror("Erreur de lecture de la socket ");
      return(-1);
    }
  else fprintf(stderr,"\n Le message reçu est : %s \n", message);

  close(sock);
}