begin process at 2010 02 10 08:41:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

IRC

 > 

Scripting

 > 

Général

 > 

Probleme avec /ftp_send


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec /ftp_send

jeudi 1 janvier 2009 à 15:59:57 | Probleme avec /ftp_send

megatchu

Bonjours, ayant voulu créer un système de logs automatique que mes utilisateurs pourraient voir directement sur le net, après beaucoup de recherche, je suis tomber sur une source plus qu' intéressante, celle de kenji, j'ai eu quelques petits problèmes d'hébergement sur free ( mais free on le sait bien, c'est gratuit, et tout ce qui ets gratuit, y'a mieux ;o ) et donc je me suis tourné sur un hebergement proffessionnel, le fichier à effectivement été envoyé mais... pas entièrement.

J'ai localisé le problème qui viendrait de la ligne :

  • var %pos = $ftpdata_get(%sock,pos) , %file = $ftpdata_get(%sock,file)
  • bread %file %pos 8192 &data
Cependant, je ne sais pas vraiment d'ou viens le problème, j'ai modifier les valeurs de %pos et 8192 manuellement, et je peut plus ou moins avoir le fichier en entier, mais étant donné qu'il change dès qu'un utilisateur parle, arrive, part ou quit, je ne peut pas vraiment m'amuser à remodifier ces lignes à chaques actions...

J'espère donc trouver une réponse dans ce site de qualité, je suis ouvert à toute proposition d'explication plus approndonfis ;)

jeudi 1 janvier 2009 à 17:11:27 | Re : Probleme avec /ftp_send

Zova

Pour moi ton problème se situe dans ces lignes là :

  ; tant que la totalité du fichier n'a pas été envoyée..
  if(%pos<$file(%file).size){
    bread%file%pos8192 &data
    sockwrite$sockname &data
    ftpdata_add%sock pos $calc(%pos + $bvar(&data,0))
  }


mais je n'ai pas exactement tout compris à ce que tu essaye de faire, et je n'ai jamais testé ce snippet donc voilà une petite orientation qui je l'espère pourra t'aider ;)
.:]| z0va / Zova |[:.
jeudi 1 janvier 2009 à 17:42:19 | Re : Probleme avec /ftp_send

megatchu

Bin en fait, je voudrais faire un système de log dans le style de BotTool qui est payant, donc je voulais le faire a ma sauce histoire de l'avoir gratuitement.

Et pour m'éviter d'uploader constamment a la main le fichier des logs, j'ai fait un script rapide dans le genre :

on *:text:*:#: {
  if ($date != %date) {
    set %date $date
    write html/logs $+ .html   <p align="center"><font color="#FFFFFF"><font size="3"><strong> Logs du $date </strong></font> </font></p>
  }
  write html/logs $+ .html   <p><font color="#FFFFFF"> ( $time ) $nick : $strip($1-) </font></p>
  ftp_send
}

sauf que ftp_send envois bien le fichier, mais il manque un bout du log, et donc je pensais que le problème venais de là, je vais voir ta suggestion merci ;)
jeudi 1 janvier 2009 à 17:54:03 | Re : Probleme avec /ftp_send

Zova

hum ta solution est bien moyenne car si quelqu'un flood^^

tu devrai opter pour un timer toutes les n minutes qui inscris dans le fichier html les phrases manquantes, ça rallongerait le code mais je pense que ça serait une solution bien meilleure :)

.:]| z0va / Zova |[:.

vendredi 2 janvier 2009 à 17:27:29 | Re : Probleme avec /ftp_send

uaip

Réponse acceptée !
logs $+ .html ne sert strictement à rien, logs.html suffit.
Et si tu changes le 8192 en $calc($file(%file).size - %pos) ça donne quoi ?

Cordialement, uaip.
vendredi 2 janvier 2009 à 18:09:54 | Re : Probleme avec /ftp_send

megatchu

Ah effectivement je ne sais pas si c'est ton intervention uaip ( ça a commencer a se resoudre tout seul dans la matiné ) mais ça marche ! xD
Merci ;)

Et j'ai un autre probleme ( oui, moi et les socket ça fait la racine de 2 :/ )

Puisque la version .html marche, je souhaite donc en faire une version en .txt afin de l'exploiter plus facilement sur une administration, seulement, quand je l'upload j'ai :

/sockwrite: 't_ftpsend_72752718' queue would exceed 16384 bytes (line 88, senlogstxt)

Ca correspond au "paragraphe" :

; tant que la totalité du fichier n'a pas été envoyée..
  if (%pos < $file(%file).size) {
    bread %file %pos 8182 &data
    sockwrite $sockname &data
    ftpdata_add %sock pos $calc(%pos + $bvar(&data,0))
  }

J'ai déja tenté de remplacer 8182 par $calc($file(%file).size - %pos), et ça marche un peu mieux, mais le probleme reste persistant : au lieu d'avoir 10 fois le message je ne l'ai plus qu'une seule fois, mais le fichier ne s'upload pas.
(je pense a une incompatibilité avec l'autre ftp_send, en sachant que j'ai renommé l'alias du deuxieme en ftp_sendd afin de m'y retrouver )

Voilà merci ;)
vendredi 2 janvier 2009 à 18:47:23 | Re : Probleme avec /ftp_send

uaip

Réponse acceptée !
En réflechissant, le 8192, c'est en gros pour découper un fichier en parties de 8192 octets chacune, pour justement éviter de déborder (je viens d'aller voir le code d'origine).
Or le code que je t'ai donné ne fait pas ça.
Essaye ceci :
; tant que la totalité du fichier n'a pas été envoyée..
  if (%pos < $file(%file).size) {
    bread %file %pos $iif(
$calc($file(%file).size - %pos) < 8182,$v1,$v2) &data
    sockwrite $sockname &data
    ftpdata_add %sock pos $calc(%pos + $bvar(&data,0))
  }

J'y crois pas trop, mais bon, autant essayer.

Cordialement, uaip.
dimanche 4 janvier 2009 à 14:58:42 | Re : Probleme avec /ftp_send

megatchu

Merci ça amrche super bien ;)
Merci aussi Zova ;o


Cette discussion est classée dans : send, ftp, file, probleme, pos


Répondre à ce message

Sujets en rapport avec ce message

problem dcc send [ par doh380 ] slt, g un problem je n'arrive pas a envoyer des fichiers en dcc send.... j epeux les recevoirs mais po les envoyer...g remarqué que tt les personnes c Problème avec ftp_send, le retour =p [ par megatchu ] Bonjour,J'avais déja eu un problème avec le très bon script ftp_send ( voir ici ), et la réponse de uaip m'avais permis de faire fonctionner le script Probleme Trivia [ par GuitarParty32 ] Bonjour je possedes un windop 1.6.19, j'y ai mis un trivia.tcl mais quand je le lances j'ai une erreur qui s'afficheDans mon document de trivia le rep probleme avec un quizz [ par romu83 ] bonjour,j'ai un quizz avec une data evidement et un bot en trivia.tcl. dans cette data j'ai des mots mélangés en question qui sont codé comme ceci : # probleme d'acces a une remote [ par zboubi42330 ] voila je voudrais que ma remote seul les opérateur de mon salon puisse faire la commande : on *:text: *: #:{ tokenize 32 $strip($1-) if $1 == !bl probleme de timer [ par flerppi ] voila j'ai un petit problème de timer en eggdrop, je voudrais faire dire par mon eggdrop une phrase sur toutes les salles de mon serveur, je vous donn Probleme Commande :( [ par t0nt0n ] Salut a tous, wala en fait je debute sur IRC et donc j'en suis toujours aux petites commandes et j'ai placer celle ci dans mes variables:%quit.msg 0 script tres simple mais qui a quand meme un probleme [ par nitro120 ] qqun trouve une erreur dans ce script :'( ? on *:text:!help*:#:{ if (%helpax == vre && $$2 isin %lngz) { msg # $nick > Je peux peut-etre t'aider ( Probleme d'utilisation de la fonction /load -rs [ par TiFoXy ] Salut à tous, ce serait avec une imense joie si vous pouviez m'aider a faire ceci:J'aimerais faire un /load -rs de remote se trouvant sur une machine Partage de connex ADSL et DCC send sous mIrc [ par mslot1 ] Rien a voir avec la prog mais je pense que c'est le meilleurendroit pour avoir une reponse. (ca fais 2 ans que jecherche une solution s'en en avoir t


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales