On Thu, Sep 07, 2000 at 02:52:47PM +0200, Nico wrote:
> 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.
>
>
Il y a longtemps que je n'en ai pas écrit, mais, si mes souvenirs sont exacts,
en mode démon, ton programme devrait lire sur l'entrée standard.
Bonne chance
--
Luc IMBERT