cgi : c/c++

cgi : c/c++ - Programmation

Marsh Posté le 05-10-2001 à 14:50:58    

un petite question pour un(e) pro des Cgi en C/C++
 
deux personnes peuvent elles utiliser le meme cgi en meme temps?!
 
 
question plus C : si des cgi accedent au meme fichier, alors deux personnes peuvent elles modifier en meme temps le meme fichier?! (ou alors est ce que de tt maniere, le system place les autres requetes en attente?! )

Reply

Marsh Posté le 05-10-2001 à 14:50:58   

Reply

Marsh Posté le 05-10-2001 à 15:44:26    

j'y connais rien au CGI, mais j'pense bien que 2 personnes peuvent utiliser un CGI en même temps, sinon, y aurait une sacré file d'attente desfois , sur internet, non !? :D

Reply

Marsh Posté le 05-10-2001 à 15:45:59    

slt,
 
pour la lecture pas de prob. que ça soit les .cgi ou les fichiers de données. Par contre pour la lecture on est désavantagé car on ne peut pas gérer les accès concurrents (il faudrait avoir un process en mémoire qui les gère et qui communique avec les cgi - m'étonnerait fort qu'un hébergeur accepte que j'installe unn truc comme ça chez lui :D)
 
la solution que j'ai adopté est de séparer les fonctions de lecture et d'écriture lors de l'ouverture d'une base (chez moi une base  = 1 fichier maitre + ses index)
 
exemple :
 
si je fais un open_ecriture(base, ...) tous autre cgi qui voudrait ouvrir en écriture le fichier se mettra dans un boucle d'attente. en fait a l'ouvertureje crée un fichier nom_base.e, si ce fichier est détecté lors d'un open_ecriture(base, l'ouverture se mets dans une boucle du type
 
  ch = mstrcat(ch,B[i].rep,B[i].basenom);
      strcat(ch,".e" );
      j = 0;
      while((access(ch,0) == 0) && (j < MAX_ESSAI))
      {
       j++;
      }
      if(j < MAX_ESSAI)
      {
...... ouverture des fichiers et inti des structures de param..
 
 
Voila :)
 
tu peux allez faire joujou avec mes forums a présent http://www.onversity.com

 

[edtdd]--Message édité par Barbarella--[/edtdd]

Reply

Marsh Posté le 05-10-2001 à 15:56:09    

bien les forums :)) manque plus que des bla-blateurs ;) en tout cas y a l air d y avoir un tas de fonctions dispo, tu peux faire de la concurrence a Joce maintenant :)
 
pour gerer les login pass donnée utilisateurs,  
vaux mieux faire un gros fichiers avec les infos pour chaque user dedans, ou bien un fichier pour chaque user??
 
(mon pt de vue : un fichier pour chauqe User permettrait d eviter une fonction de recherche, puisqu on ouvrirait a chaque fois le fichier ayant le nom de l utilisateur.txt...., d un autre coté, beaucoup de petits fichier c est pas top...)
(

Reply

Marsh Posté le 05-10-2001 à 16:22:09    

bah,
 
ça depend comment est construit le site, si c'est juste les forum oui pourquoi pas.
 
en ce qui concerne onversity. j'ai un fichier info user et un fichier gérant les droit d'accès user pour tout le site (pas trop besoin de cookies, je hais les cookies :D) par contre pour les selections (fonctions en cours de dev il y aura un fichier par users.
 
pour l'organisation forum ça depend des fonctions, mais je dirais que les différents exemple donnée ici pour php sont valable aussi pour le C.
 
---
pour mes forums y manque pas mal de fonction reviens d'ici 2 a 3 semaines et tu commenceras a avoir une idée du monstre.

Reply

Marsh Posté le 05-10-2001 à 19:48:00    

ok:) je vias me lancer un peu la dedasn alors :)
 
j avais une autre question a propos des c cgi : y a t il un moyen de reccuperer l heure du serveur (par ex)

Reply

Marsh Posté le 05-10-2001 à 22:42:16    

librairie : #include<time.h>
déclaration : time_t t; char lettre[30];
 
récupération de l'heure : time(&t);
conversion en une chaine : strcpy(lettre,ctime(&t));
 
charge a toi de voir le format de la chaine et quelle partie t'interesse.
 
Time() récupère la date/heure de la machine sur laquelle la fonction s'execute, donc si c'est un .cgi chez ton hébergeur c'est l'heure du serveur. Le plus drole est que si le serveur est en chine t'auras l'heure chinoise sur tes forums :D

Reply

Marsh Posté le 06-10-2001 à 00:26:54    

bon je crois que je vais me faire une fonction intermediaire, histoire de remetre facilement les pendules a l heure :)

Reply

Marsh Posté le 06-10-2001 à 12:01:46    

slt,
 
je viens de trouver un zolie bug dans le ctime du gcc pour le mois tu dois faire un test dy genre
 
if( *(lettre+8) == ' ';) // correction bogue ctime sur linux 2.95.3
  *(lettre+8) == '0';
 
effectivement pour les mois a 1 seul chiffre il place un blanc devant au lieu d'un 0 (zéro).  
 
voila,  
 
Seule avantage, ça me permet de tester la fonction de reindexation :D. bon ben j'ai pas régler tous les prob de compatibilité windows/linux par contre j'espère ne plus tomber sur un bug du GCC

Reply

Marsh Posté le 06-10-2001 à 12:20:18    

arf, comme quoi gcc est loin d etre parfait :)
enfin faut quand meme les chercher ces bug :d

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed