j'ai un programme C existant qui imprime un certain nombre de messages d'erreur standard en utilisant:envoyer des messages formatés sur connexion TCP
fprintf(stderr, ...
Je souhaite modifier ce programme afin que ces messages sont également envoyés sur une Connexion TCP sur Internet. (Ce que j'ai déjà créé en tant que socket SOCK_STREAM.) Quelle est la meilleure façon de formater les messages comme ils le feraient par fprintf et ensuite les envoyer sur Internet?
Bien sûr, avant de pouvoir envoyer un message, je dois d'abord savoir combien de temps il est, donc je peux d'abord envoyer la longueur au client, afin que le client sache combien d'octets ...
Toutes les idées seraient très appréciées!
Merci, mais j'ai pensé à cela, et pour autant que je sache, pour que le client sache combien d'ines pour lire pour chaque message, je vais d'abord besoin d'envoyer la longueur du message à l'avance . Je ne pense pas que cela puisse être fait en passant simplement FICHIER * à la place de stderr ... – Charles
Eh bien, si tous vos messages se terminent par un '\ n', le client peut simplement lire jusqu'à ce qu'il en voie un. – caf
... ce qui est facile à faire en utilisant 'fgets()', 'fscanf()', etc. sur le côté lecture une fois que vous avez 'FILE *' en utilisant 'fdopen()'. – mark4o