| |
Accueil CanalOpenSource
SourceServer
Langage xShell
BasicBrick
tcp OpenClient
tcp_OpenServer
DesignServer
openSource Shop Gallery
Main Street
freeway Avenue
Liens :
ifs_GettingStarted OffreFormationxShell OpenSyncPresentation ssf_Mail-13122002 tcp_GettingStarted tcp_Samples tcp_ServerGettingStarted xShell2003Novembre2003
|
|
| Retour
IncludeFtpServer - Prise en main| IncludeFtpServer est un serveur ftp réalisé avec 4D et ITK. |
| La base téléchargeable sur le site est paramétrée pour être opérationnel dès son lancement. |
| Si vous êtes sous Windows, vous pouvez utiliser les deux comptes existants. Il s'agit d'un compte anonymous donnant un accès au disque c:\ en lecture seulement et un compte pmarty avec un mot de passe et tous les droits de lecture et d'écriture. |
| Définir les comptes utilisateurs |
| IncludeFtpServer ne possède pas d'interface utilisateur pour gérer les comptes. Les comptes sont référencés grâce à la méthode ifs_AddUser mais la portée de cette méthode est la session courante. ifs_AddUser reçoit 4 paramètres texte et retourne une valeur booléenne : |
| ifs_AddUser (Login;Password;HomeDirectory;RightAcces)->AccountOk |
| Vous allez définir ainsi le login de l'utilisateur avec son mot de passe, son répertoire racine et ses droits d'accès. ifs_AddUser retourne Vrai si le compte est créé et Faux s'il existe déjà. |
| Le répertoire racine de l'utilisateur est un chemin d'accès complet comme "c:\webFolder\ftpRoot\pub\". |
| Les droits se définissent par une chaine de 5 caractères "0" ou "1" pour Faux ou Vrai : |
| - le premier caractère à "1" autorise le téléchargement |
| - le deuxième caractère à "1" autorise l'envoi sur le serveur d'un document ou d'un dossier |
| - le troisième caractère à "1" autorise la création d'un répertoire sur le serveur ainsi que la possibilité de renommer le répertoire |
| - le quatrième caractère à "1" autorise la suppression d'un répertoire sur le serveur |
| - et enfin, le cinquième et dernier caractère à "1" autorise la suppression d'un document. |
| Voici un compte utilisateur qui a juste le droit de télécharger des documents et d'en envoyer : |
| ifs_AddUser ("Arthur";"589OOp";"c:\webFolder\ftpRoot\pub\";"11000") |
| Initialisation du serveur et fichiers de paramètres |
| Les deux comptes par défaut signalés au début sont référencés dans un fichier texte qui est chargé au démarrage avec l'appel de la méthode ifs_OnStartUpBase. La méthode base Sur ouverture contient deux appels pour initialiser IncludeFtpServer : |
| IncludeFtpServer utilise quelques méthodes de tcp_OpenServer en particulier la gestion des listener, c'est-à-dire des process qui sont à l'écoute et en attente d'une connexion et d'une requête. tcp_OnStartUpBase doit être appelée pour lancer le serveur ftp, ifs_OnStartUpBase doit être appelée pour une initialisation et pour charger les comptes utilisateurs contenu dans le fichier ftp_Users.txt. Ce fichier se trouve dans le dossier properties qui se situe à coté du fichier de données. Si ce fichier n'est pas trouvé, il ne se passe rien, aucun compte n'est chargé. Par contre, il est impératif que le fichier tcpPrp.txt soit présent dans le dossier properties, car il contient les paramètres du serveur ftp. |
| Chaque ligne du fichier ftp_Users.txt contient les 5 paramètres passés à ifs_AddUser séparés par le signe "=" comme ci-dessous |
| anonymous=anonymous@anonymous.com=C:\=10000 |
| pmarty=pmarty8888=c:\=11111 |
| Le fichier tcpPrp.txt est un peu plus complexe. Il est composé de trois sections : [Header] [SrvManager] et [Server1]. Seule cette dernière section contient des paramètres propres au serveur ftp : |
| killExtraAfterOneRequest=no |
| La propriété LaunchAtStartup peut être égale à "yes" ou "no". Dans le cas où elle est égale à "yes", le serveur ftp est lancé au démarrage de l'application avec l'appel à tcp_OnStartupBase. |
| La propriété nbPrcSrvConnect indique le nombre de listener qui seront à l'écoute des connexions entrantes. Si votre serveur reçoit peut de connexions, 1 ou 2 listener suffisent. Si votre serveur reçoit beaucoup de connexions, 4 voir 5 ou 6 listener seront nécessaires, surtout si vos clients ftp sont Internet Explorer, car ce dernier ouvre beaucoup de connexions. |
| La propriété nbPrcSrvRequest indique le nombre de process lancés au démarrage pour traiter les requêtes. Si le nombre de requêtes à traiter simultannément est important, le listener crée des process supplémentaires. La propriété killExtraAfterOneRequest indique si les process supplémentaires sont tués après avoir répondu à la requête ou s'ils sont conservés pour être réutilisés. |
| La propriété IP indique l'adresse IP sur laquelle le serveur ftp est à l'écoute. Si vous désirez qu'il réponde sur toutes les adresses disponibles sur la machine, IP doit être égal à 0.0.0.0 . |
| La méthode tcp_ScreenLog affiche à l'écran le log des connexions sur le serveur ftp. Une boite à cocher permet d'enregistrer sur disque les requêtes. Le fichier se nomme ServerFTPLog et est placé dans le dossier Logs Folder. Ce dernier est créé automatiquement. Pour que la méthode tcp_ScreenLog fonctionne correctement, il faut appeler au démarrage de l'application la méthode wnd_SetInterfaceTable en lui passant comme paramètre un pointeur sur la table [Forms]. |
| Intégrer IncludeFtpServer à une autre base |
| Deux groupes Insider sont définis dans IncludeFtpServer. Toutes les méthodes propres au serveur ftp ont comme préfixe ifs_ et sont rassemblées dans le groupe IncludeFtpServer. Les autres méthodes issues de différentes librairies de xShell sont rassemblées dans le groupe Include. Le formulaire [Forms]tcp_log peut être copié dans n'importe quelle table de la base de destination. |
| Vous devez utiliser xSh_ qui se trouve dans le dossier Win4DX et qui contient les constantes (4DK#) de l'application, ainsi que le plug in ITK et 4D Pack. Vous trouverez la version Mac4DX dans la page de téléchargement de xShell Alpha. |
| IncludeFtpServer est intégré à xShell, vous trouverez dans la partie Langage la liste des méthodes ifs_ et le code source. |
| Haut de page | Retour
|