Transfert de fichier

lemonwarez Messages postés 26 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 2 juillet 2010 - 30 juin 2010 à 12:13
lemonwarez Messages postés 26 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 2 juillet 2010 - 2 juil. 2010 à 16:02
Bonjour,

Je programme une fonction pour recevoir un fichier, mais lors du transfert, il manque la fin du fichier, les donnés n'ont pas étés ecrites.
Je vous envoie mon code :

            TransfertListener = new TcpListener(IPAddress.Any, 11111);
            Console.WriteLine("Listening...");
            TransfertListener.Start();
            for (; ; )
            {
                Socket client = TransfertListener.AcceptSocket();
                NetReader = new NetworkStream(client);
                Console.WriteLine("Transfert...");
                Byte[] bytes = new Byte[256];
                int i;
                FileStream fls = new FileStream("D:\\image.jpg", FileMode.CreateNew);
                while ((i = NetReader.Read(bytes, 0, bytes.Length)) != 0)
                {
                    fls.Write(bytes, 0, bytes.Length);
                }
                fls.Close();
                Console.WriteLine("Transfert termine");

            }


J'utilise netcat pour envoyer le fichier.

Merci de votre aide !

1 réponse

lemonwarez Messages postés 26 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 2 juillet 2010
2 juil. 2010 à 16:02
J'ai reussi. Je donne le code pour une aide future.

            TcpListener TransfertListener = new TcpListener(IPAddress.Any, 11111);
            Console.WriteLine("Listening...");
            TransfertListener.Start();
            for (; ; )
            {
                Socket client = TransfertListener.AcceptSocket();
                NetworkStream NetReader = new NetworkStream(client);
                Console.WriteLine("Transfert...");
                Byte[] bytes = new Byte[1];
                int i;
                FileStream fls = new FileStream("D:\\image1338.jpg", FileMode.CreateNew);
                do
                {
                    i = NetReader.Read(bytes, 0, bytes.Length);
                    fls.Write(bytes, 0, bytes.Length);
                }
                while (NetReader.DataAvailable);
                fls.Close();
                Console.WriteLine("Transfert termine");

            }
0
Rejoignez-nous