Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


sockets en NS.
#1
Bonjour,

Voilà j’ai un souci enfin cela fait quelque jours que je penche sur le système de namespace en sockets.

Je m’explique plus clairement.
En faite j’ai un système de sockets (ce qui me permets de connecté une socket).

Jusque la aucun problème le tout codé modifié pas de soucis.
Mais il se trouve que j’ai une erreur en PL.

J’ai tenté de rechercher cette erreur mais sans aucun succès.
J’ai demandé divers aides mais aucune na été concluante.

Alors donc je post en espérant que vous pourrez m’aider.
Donc voici mon erreur que mon robot me transmet en PL :

Quote:[16:30:18] <Aurore> [15:30:40] Tcl error in script for 'timer4':
[16:30:18] <Aurore> [15:30:40] invalid command name "checkconnect"

Erreur transmise lors d’un .rehash suivi d’un .restart

Voici le code TCL :


tcl
namespace eval socks {
 
#********************#
# Service.Socket 1.0 #
#********************#
 
#**************************#
# Information link reseau. #
#**************************#
 
set aurore(serv) "Aurore.****.fr"
set aurore(ip) "ip"
set aurore(port) "port"
set aurore(pwdlink) "pass"
set aurore(info) "Aurore Services"
 
#****************************#
# Configuration des sockets. #
#****************************#
 
set aurore(nick) "Hera" 
set aurore(identd) "Hera" 
set aurore(host) "Services.****.fr"
set aurore(nom) "Services-Log"
 
#***************************#
# Salon de log des sockets. #
#***************************#
 
set aurore(log) "#Services"
set aurore(quit01) "Redemarage Aurore-Service."
set aurore(quit02) "Fermeture Aurore-Service."
 
#****************************************#
# Lancement de la procédure des sockets. #
#****************************************#
 
utimer 1 checkconnect
proc checkconnect {} {
	if {![info exists aurore(idx)]} {
          xconnect:serv
	} else {
		utimer 30 [namespace current]::checkconnect
	}
}
 
 
proc xconnect:serv {} {
	set aurore(idx) "[connect $::socks::aurore(ip) $::socks::aurore(port)]"
	putdcc $aurore(idx) "PASS $::socks::aurore(pwdlink)"
	putdcc $aurore(idx) "SERVER $::socks::aurore(serv) 1 [unixtime] [unixtime] J09 ACAA\] +s :$::socks::aurore(info)"
	putdcc $aurore(idx) ":$::socks::aurore(serv) NICK $::socks::aurore(nick) '' '' $::socks::aurore(identd) $::socks::aurore(host) $::socks::aurore(serv) '' :$::socks::aurore(nom)"
	putdcc $aurore(idx) ":$::socks::aurore(nick) MODE $::socks::aurore(nick) +owsgkd"
	putdcc $aurore(idx) ":$::socks::aurore(nick) JOIN $::socks::aurore(log)"
	putdcc $aurore(idx) ":$::socks::aurore(nick) MODE $::socks::aurore(log) +ntsv $::socks::aurore(nick)"	
	control $aurore(idx) controling_server
	utimer 10 verify
 
}
 
#***********************************#
# Verify si le serveur est Connecté #
#***********************************#
 
proc verify {} {
	if {[valididx $aurore(idx)]} {
		utimer 30 verify
	} else {
    xconnect:serv
	}
}
 
proc valididx {idx} {
	set r 0
	foreach j [dcclist] {
		if {[lindex $j 0] == $idx} {
			set r 1
		}
	}
	return $r
}
 
 
proc controling_server {idx arg} { 
	regsub -all {\\} $arg {\\\\} arg
        regsub -all {\{} $arg {\{} arg
        regsub -all {\}} $arg {\}} arg
        regsub -all {\]} $arg {\]} arg
        regsub -all {\[} $arg {\[} arg
        regsub -all {\"} $arg {\"} arg
        regsub -all {\`} $arg {\`} arg
	    set arg1 "[lindex $arg 0]"
	    set arg2 "[lindex $arg 1]"
	    set arg3 "[lindex $arg 2]"
	    set arg4 "[lindex $arg 3]"
	    set arg5 "[lindex $arg 4]"
	    set arg6 "[lindex $arg 5]"
	    set arg7 "[lindex $arg 6]"
	    set arg8 "[lindex $arg 7]"
	    set arg10 "[string trim [lrange $arg 3 end] :]"
	if {$arg2=="PING"} {
   	putdcc $aurore(idx) ":$::socks::aurore(serv) PONG $::socks::aurore(ip) :$::socks::aurore(serv)"
    }	
 
}
 
#**********************#
# Restart des sockets. #
#**********************#
 
bind evnt - prerestart restart1
proc restart1 {} {
	putdcc $aurore(idx) ":$::socks::aurore(serv) SQUIT $::socks::aurore(serv) :Restart Sockets."
}
 
bind evnt - restart restart2
proc restart2 {arg} {
	xconnect:serv
}
 
#********************#
# Rehash du Service. #
#********************#
 
bind dcc n xrehash eggy:xrehash
proc eggy:xrehash {nick idx arg} {
    putdcc $idx "\002Rehash de Aurore-Service et des fichiers\002"
        utimer 4 rehash
}
 
#*********************#
# Restart du Service. #
#*********************#
 
bind dcc n xrestart eggy:xrestart
proc eggy:xrestart {nick idx arg} {
        putdcc $idx "\002Redémarrage de Aurore-service\002"
    if {[valididx $aurore(idx)]} {
        putdcc $aurore(idx) ":$::socks::aurore(nick) QUIT :$::socks::aurore(quit01)"
        putdcc $aurore(idx) ":$::socks::aurore(serv) SQUIT :$::socks::aurore(serv)"
	  foreach kill [utimers] { 
            if {[lindex $kill 1]=="verification"} { killutimer [lindex $kill 2] }
      }
    }
    xconnect:serv
 
}
 
#*****************#
# Die du Service. #
#*****************#
 
bind dcc n xdie eggy:xdie
proc eggy:xdie {nick idx arg} {
        putdcc $idx "\002Arrêt de  Aurore-Service\002"
    if {[valididx $aurore(idx)]} {
        putdcc $aurore(idx) ":$::socks::aurore(nick) QUIT : $::socks::aurore(quit02)"
        putdcc $aurore(idx) ":$::socks::aurore(serv) SQUIT :$::socks::aurore(quit02)"
	  foreach kill [utimers] { 
            if {[lindex $kill 1]=="verification"} { killutimer [lindex $kill 2] }
      }
    }
}
 
#****************************#
# Fin du Service Sockets 1.0 #
#****************************#
 
}
putlog "\0031Service Sockets 1.0 \0034Chargé."


Si quelqu’un aurait une idée pour me guider merci d’avance :)


Messages In This Thread
sockets en NS. - by aliasangelius - 11/05/2011, 16:57
RE: sockets en NS. - by CrazyCat - 11/05/2011, 17:30
RE: sockets en NS. - by aliasangelius - 11/05/2011, 17:32
RE: sockets en NS. - by djkenny - 11/05/2011, 18:11
RE: sockets en NS. - by aliasangelius - 11/05/2011, 18:28
RE: sockets en NS. - by djkenny - 11/05/2011, 18:42
RE: sockets en NS. - by djkenny - 11/05/2011, 18:46
RE: sockets en NS. - by djkenny - 11/05/2011, 18:50
RE: sockets en NS. - by aliasangelius - 11/05/2011, 19:46
RE: sockets en NS. - by djkenny - 12/05/2011, 17:50
RE: sockets en NS. - by aliasangelius - 12/05/2011, 20:04
RE: sockets en NS. - by djkenny - 13/05/2011, 06:04
RE: sockets en NS. - by djkenny - 13/05/2011, 06:15
RE: sockets en NS. - by CrazyCat - 13/05/2011, 08:59
RE: sockets en NS. - by djkenny - 13/05/2011, 13:03
RE: sockets en NS. - by aliasangelius - 13/05/2011, 16:34
RE: sockets en NS. - by djkenny - 13/05/2011, 20:31
RE: sockets en NS. - by aliasangelius - 14/05/2011, 11:38
RE: sockets en NS. - by djkenny - 14/05/2011, 13:08
RE: sockets en NS. - by aliasangelius - 14/05/2011, 13:41

Possibly Related Threads…
Thread Author Replies Views Last Post
  Eggdrop maitre + sockets pheeric 11 5,929 06/01/2012, 22:03
Last Post: pheeric

Forum Jump:


Users browsing this thread: 1 Guest(s)