Bonjour,
Je viens de me lancer dans la prog socket.
J'ai alors test� mon programme en le lancant dans une console mais lorsque
je l'ajoute dans le service inetd celui ci ne marche plus?
Les lignes que j'ai ajout� dans inetd.conf et services sont :
pserver stream tcp wait root /socket
et........
pserver 973/tcp # Mon petit programme...
les sources du serveur:
.......
int main()
{
int server_sockfd, client_sockfd;
int server_len, client_len;
struct sockaddr_in server_address;
struct sockaddr_in client_address;
server_sockfd = socket(AF_INET, SOCK_STREAM, 0);
server_address.sin_family = AF_INET;
server_address.sin_addr.s_addr = htonl(INADDR_ANY);
server_address.sin_port = htons(973);
server_len = sizeof(server_address);
bind(server_sockfd, (struct sockaddr *)&server_address, server_len);
listen(server_sockfd, 5);
char ch[50];
printf("serveur en attente\n");
client_len = sizeof(client_address);
client_sockfd = accept(server_sockfd,(struct sockaddr
*)&client_address, &client_len);
read(client_sockfd, &ch, 50);
.......
.......
write(client_sockfd, "ok", 50);
close(client_sockfd);
return (0);
}
et celles du client...
int main(int argc,char *argv[])
{
int sockfd;
int len;
struct sockaddr_in address;
int result;
char ch[50] ;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr("x.x.x.x");
address.sin_port = htons(973);
len = sizeof(address);
result = connect(sockfd, (struct sockaddr *)&address, len);
if(result == -1) {
perror("erreur !!!");
}
read(sockfd, &ch, 50);
.....
.....
close(sockfd);
return (0);
}
Pouvez vous me dire ce qui cloche ????
Aurai je mal configur� Inetd ????
Je vous remercie d'avance de votre aide.