15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
proc reflectCB {chan {verbose 0}} {
set x hello
if {[catch {read $chan 1024} data]} {
puts stderr "EOF ($data)"
catch {close $chan}
return
}
if {$verbose && $data != ""} {
puts -nonewline stderr $data
}
if {[eof $chan]} { ;# client gone or finished
puts stderr "EOF"
close $chan ;# release the servers client channel
return
|
|
|
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
proc reflectCB {chan {verbose 0}} {
set x hello
if {[catch {read $chan 1024} data]} {
puts stderr "EOF ($data)"
catch {close $chan}
return
}
if {$verbose && $data != ""} {
puts -nonewline stderr $data
}
if {[eof $chan]} { ;# client gone or finished
puts stderr "EOF"
close $chan ;# release the servers client channel
return
|
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
return
}
puts [tls::status $chan]
fconfigure $chan -buffering none -blocking 0
fileevent $chan readable [list reflectCB $chan 1]
}
#tls::init -cafile server.pem -certfile server.pem
tls::init -cafile server.pem
#tls::init
set chan [tls::socket -server acceptCB \
-request 1 -require 0 1234]
# -require 1 -command tls::callback 1234]
puts "Server waiting connection on $chan (1234)"
puts [fconfigure $chan]
# Go into the eventloop
vwait /Exit
|
|
|
|
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
return
}
puts [tls::status $chan]
fconfigure $chan -buffering none -blocking 0
fileevent $chan readable [list reflectCB $chan 1]
}
#tls::init -cafile server.pem -certfile server.pem
tls::init -cafile server.pem
#tls::init
set chan [tls::socket -server acceptCB \
-request 1 -require 0 1234]
# -require 1 -command tls::callback 1234]
puts "Server waiting connection on $chan (1234)"
puts [fconfigure $chan]
# Go into the eventloop
vwait /Exit
|