Salut.
Comment faire fonctionner sous Windows XP le mode Client-Serveur des deux fichiers ci-dessous (Serveur.tcl et Client.tcl). Quelles commandes à modifier et à rajouter pour les faire fonctionner ensemble? Ce qui pose problème, c'est surtout le client. Merci d'avance.
fichier Serveur.tcl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #\ exec tclsh "$0" ${1+"$@"} & #console show proc receptionInput {sockID} { if { [eof $sockID] } { fileevent $sockID readable {} close $sockID after 3000 exit return };#end of if1 set data [read $sockID] if {[string length $data] > 0 } { .txt insert end $data };#end of if2 };#end of receptionInput #---------------------------------------------------------- proc connectInit {sockID adrClient portClient} { fconfigure $sockID -blocking 0 fileevent $sockID readable [list receptionInput $sockID] };#end of connectInit #---------------------------------------------------------- wm title . "Serveur" text .txt -bd 2 -relief sunken -bg white -width 50 -height 10 pack .txt -side top -fill both -expand 1
fichier Client.tcl
Exemple tiré du livre de Bernard Desgraupes (pages 364-366)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #\ exec tclsh "$0" ${1+"$@"} #console show set delai 100 set data "Quand l'occident se couche devant la Chine au lieu de dire: Vive le Tibet libre!" set data [split $data {}]; set connexion [socket -async localhost 9000] fconfigure $connexion -buffering none foreach x $data { puts -nonewline $connexion $x after $delai };#end of foreach close $connexion exit
"TCL/TK Apprentissage et référence" aux éditions Vuibert.
L'erreur est la suivante:
N'est-ce pas dans la définition de la connexion avec le socket qu'il y a un problème à savoir -async localhost 9000 au niveau du socket?error writing sock1000: connection refused
while executing
puts -nonewline $connexion $x
"foreach" body line 2
invoked from within
foreach x $data {
puts -nonewline $connexion $x
after $delai
};#end of foreach
in the file Client.tcl
A+
Partager