Je teste un proof-of-concept qui envoie deux fichiers via une connexion TCP à un serveur distant, tous utilisant Perl. Je rencontre un problème, cependant, avec l'envoi de plusieurs fichiers. Actuellement, j'ai le client (hébergé sur Windows, exécutant ActiveState Perl) qui veut envoyer plus de 2 fichiers CSV au serveur distant (en exécutant une forme de RedHat). Au fur et à mesure que le processus se déroule, le client imprime, ligne par ligne, le contenu du fichier CSV et quand cela est fait, il envoie un message au serveur. Le serveur doit ensuite intercepter ce message et basculer le fichier pour écrire dans un autre fichier CSV.Comment envoyer plusieurs fichiers via une connexion TCP avec Perl?
Cependant, le serveur est juste un gros fichier, où je veux qu'il divise ce qu'il reçoit en deux fichiers. Donc, ma vraie question est la suivante: quel est le moyen le plus simple, en utilisant Perl, d'envoyer deux fichiers sur une connexion TCP? Je préfèrerais utiliser des modules intégrés, tels que IO :: Sockets, mais si je dois télécharger un module externe pour simplifier le processus, je peux le faire aussi.
Merci pour toutes les réponses! Il semble que ce soit les fins de ligne qui m'affectaient, et le fait que la dernière ligne d'un fichier ne soit pas précédée d'un "\ n". Le remplacement des terminaisons de ligne Windows par celles d'Unix semblait faire l'affaire, ainsi que d'autres mises en forme avec le message "End Of File". Merci à tous ceux qui ont répondu!
Si vous utilisez un protocole existant qui incorpore les fichiers dans un flux de données (tel que XML), puis que vous retranchez les fichiers du protocole d'échange de données à l'autre extrémité, votre problème disparaît. – DavidO
C'est pourquoi des choses comme HTTP ont été inventées. – hobbs
Dans l'environnement dans lequel je travaille, je ne peux pas vraiment utiliser le protocole HTTP, bien que je le sache. –