Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Serveur FTP [ Archives / Réseau / Internet ] (simtiers)

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

Membre Club
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

Membre Club
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

Membre Club
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)


1 2

Cette discussion est classé 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 CLIENT/SERVEUR FTP RFC [ par saywaki ] Bonjour a tous, Je souhaite developper un serveur et un client FTP en C qui soit a la norme RFC et 2 autres en plus d'ailleurs.Si vous avez des tutori 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


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.