Accueil > Forum > > > > Serveur FTP
Serveur FTP
vendredi 31 décembre 2004 à 18:25:20 |
Serveur FTP

simtiers
|
Salut tout le monde ! J'ai pour projet de faire un serveur FTP pour un réseau local, afin d'éviter de passer par l'explorateur Windows, et pour enrichir mes compétences de prgrammation. J'aimerais savoir si je dois utiliser les sockets "pures" ou les Winsocks (serveur sous Windows), et comment gérer les connexions multiples. C'est ce dernier point que je trouve très important. J'aimerais aussi savoir comment effectuer le transfert de fichiers : tout d'un bloc, ou morceaux par morceaux ? Pour ce qui est des references pour le protocole FTP, j'ai déjà : les RFC et le site www.salemioche.com Merci
|
|
vendredi 31 décembre 2004 à 20:34:18 |
Re : Serveur FTP

Gendal67
|
Euh, perso, j'opterais pour une connexion client/server standard, genre en connection-less (UDP) puisqu'il s'agit d'un résau local...jme suis aussi posé la question du transfert de fichier pour un autre style d'appli ^^....et ne connaissant pas un protocole ou une fonction qui fait tout le boulot, j'ai pensé à faire tout simplement des envois successifs de données, donc d'envoyer le fichier par paquets de données (morceaux)...genre tu connectes à ton server, tu lui envoie une commande qui spécifie que tu veux télécharger ou uploader tel ou tel fichier et apres tu te retrouve avec une fonction du type :
char buffer[500]; ZeroMemory(buffer, sizeof(buffer));
DWORD dwSize = GetFileSize(nom_fichier, 0); DWORD dwSended = 0;
tant ke fichier pas fini {
sendto(sock, buffer, 500, 0, (SOCKADDR*) &addr, sizeof(addr)); dwSended += 500; }
Tu vois, un truc dans ce genre la...:-) si tu as des questions, je ne suis pas un expert, bien au contraire, mais je me ferai une joie de t'aider si je le peut, donc n'hésite pas à m'envoyer des messages en privé :)
Bonne soirée, et pour ceux qui aiment la nouvelle année, Joyeuse année 2005....
++
Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
|
|
samedi 1 janvier 2005 à 16:06:58 |
Re : Serveur FTP

xterminhate
|
Au stadard, FTP se base sur TCP. Pour faire plus léger, il existe TFTP qui se base sur UDP. Si tu veux utiliser un client (genre freeware, shareware, etc...) il te faut un serveur codé selon le standard. D'ailleurs, TCP te simplifie bcp la vie car tu n'as pas besoin de gérer le fragmentation de ton fichier.... j'avais comme projet perso de coder un serveur ftp. Projet laissé en suspens. Si tu as besoin d'un coup de main !
Cordialement, Xterminhate.
|
|
samedi 1 janvier 2005 à 17:11:28 |
Re : Serveur FTP

simtiers
|
Merci les gars : sachez que toute aide est la bienvenue, car la programmation, c'est avant tout un esprit d'entre-aide.
J'ai justement besoin d'un conseil : comment faire pour pouvoir gérer plusieurs connexions en même temps, sachant que j'aurais une vingtaine de connexions simultanées possibles.
J'avais pensé faire un classe pour le dialogue avec un client, et créer un thread par client, mais je sais pas si ça irait, ni comment l'implanter réellement.
|
|
samedi 1 janvier 2005 à 20:34:27 |
Re : Serveur FTP

simtiers
|
Qu'est-ce que t'entends par :
"TCP te simplifie bcp la vie car tu n'as pas besoin de gérer le fragmentation de ton fichier"
|
|
samedi 1 janvier 2005 à 22:53:53 |
Re : Serveur FTP

xterminhate
|
TCP garantit le bon acheminement des données quelque soit leur taille. Si un fragment est perdu durant l'émission de ton fichier, TCP assure la réémission. Si les fragments sont déséquencés, TCP assure le réordonnancement à la réception. Etc...
UDP n'assure pas ces services, par définition.
Si tu utilises UDP, c'est à toi de mettre en oeuvre les mécanismes qui vont garantir le bon acheminement des données à travers le réseau. Dans un LAN les risques sont faibles, mais via Internet ou tout autre WAN, c'est indispensables.
Par contre, si tu utilises TCP, tu n'as rien d'autre à faire qu'un vieux send(). Tu pourras donc te concentrer sur l'implémentation du protocole FTP et oublier les problèmes réseaux.
Cordialement, Xterminhate.
|
|
dimanche 2 janvier 2005 à 12:45:30 |
Re : Serveur FTP

simtiers
|
Effectivement, d'après ta description, le TCP semble être le plus simple à utiliser dans ce genre de transmissions.
Cela dit, est-ce que je peux enoyer un fichier de 600 Mo (image d'un disque), en un seul bloc.
Je pense que le partager en morceaux de 1 Mo serait plus intelligent (au niveau de la mémoire du serveur), mais je ne sais pas quelle serait la taille optimale pour transmettre un fichier.
|
|
dimanche 2 janvier 2005 à 23:45:46 |
Re : Serveur FTP

xterminhate
|
Un coup de getsockopt avec l'option SO_SNDBUF te permet de connaitre la taille maximale du buffer d'émission. Cela fixe la taille des fragments de tes gros fichiers au moment de l'appel de send().
Cordialement, Xterminhate.
|
|
samedi 8 janvier 2005 à 11:42:42 |
Re : Serveur FTP

simtiers
|
Merci pour votre aide, les gars!
Encore quelques questions :
1°/ quel type de chaines de caractères dois-je utiliser : ANSI : char*, UNICODE : wchar_t* ou GENERIQUE : TCHAR* ?
2°/ lors du dialogue avec le client, dois-je créer une fonction par
commande du protocole FTP, avec une fonction principale de dialogue,
appelant les autres en temps voulu, ou bien tout faire dans la même
fonction ?
Merci
|
|
samedi 8 janvier 2005 à 13:01:39 |
Re : Serveur FTP

simtiers
|
Dites, est-ce qu'il y a un moyen d'écrire "..." au lieu de L"..." quand on veut faire de l'UNICODE.
(finalement, c'est ce que j'ai choisi)
|
|
Cette discussion est classée dans : windows, ftp, serveur, morceaux
Répondre à ce message
Sujets en rapport avec ce message
FTP [ par David ]
Recherche source pour realiser une connection FTP sur mon serveur pour effectuer le transfert de fichier dans les deux sens Local-->Serveur Serveur-->
client/serveur FTP [ par fab ]
Salut!!!Je développe un prog client/serveur FTP en C++ Builder . Je veux pouvoir envoyer un fichier image au serveur . Pour cela j'utilise le composan
Serveur http/ftp [ par fytlos ]
Salut a tous,Je recherche les sources d'un serveur ftp/http programmé avec WinInet sous Visual c++Merci++
transfert FTP [ par Darkukai ]
bonjour à tousje dois dévelloper un petit exe qui s'identifie et envoie un fichier sur un serveur ftp avec des paramètres rentrer par l'utilisateur (u
Problème d'envoie par socket [ par CyberP ]
J'ai fait un programme qui se connecte à un serveur ftp (le serveur ftp est aussi sur mon ordi). Je me connecte avec la fonction connect() et je recoi
serveur FTP et compression [ par despro007 ]
Bonjour, je debute en peu en C++,mais dans le cadre d'un projet plus vaste (multi langage) je dois réaliser un serveur ftp compressant les données env
FTP Serveur : Taux de tranfert d'1 fichier [ par bergou ]
Avec MFC : FTP serveurquelle est l'instruction qui me permet de connaitre le taux de transfert d'un fichier par rapport au modem ?MerciBergou
Réalisation d'un serveur FTP [ par Ihsanovic ]
Salut tt le monde,Je suis un étudiant en informatique, j'ai un tt ptit pblme, je dois réaliser un SERVEUR FTP qui gére les sessions des clients, le tr
serveur ftp securisé en langage C [ par manyky54 ]
Je cherche une source en C d'un serveur FTP sécurisé et je cherche aussi comment utiliser des fenêtres graphiques en C sous linux.merci de vos réponse
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|