voila le source
#include <errno.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <netinet/in.h>
#include <netdb.h>
#include <memory.h>
#define TPTCP 13001
int main ()
{
char trame[128];
int sock, sock2, rts, lg_addr;
struct sockaddr_in sockname;
struct hostent *host;
host= gethostbyname("localhost");
if(host==(struct hostent *)NULL)
{
perror("Host inconnu\n");
exit(0);
}
else printf("Host connu! `\n");
sock=socket(AF_INET, SOCK_STREAM, 0);
if(sock== -1)
{
printf("Pas de socket");
exit(0);
}
else printf("Socket OK");
sockname.sin_family=(AF_INET);
sockname.sin_port=htonl(TPTCP);
memcpy(&sockname.sin_addr.s_addr,host->h_addr,host->h_length);
rts=bind(sock, (struct sockaddr *)&sockname, sizeof(sockname));
if(rts==-1)
{
printf("bind erreur");
}
rts=listen(sock, 5);
if(rts==-1)
{
perror("erreur listen");
close("sock");
exit(0);
}
lg_addr=host->h_length;
sock2=accept(sock,(struct sockaddr *)&sockname, &lg_addr);
if(sock2==-1);
{
perror("pb accept");
close(sock);
exit(0);
}
rts=recv(sock2, trame, 128, 0);
printf("Trame recue : %s\n",trame);
printf("Reponse: ");;gets(trame);
send(sock2, trame, strlen(trame)+1,0);
close(sock2);
close(sock);
}
Poste le Saturday 14 February 2004 14:19:08