IOS sürüm 12.4 (24) T8 ile Cisco EEM 3.0 TCL'de istemci / sunucu soketleri kurmaya çalışıyorum (bu son zamanlarda sorunun EEM ver olup olmadığını belirlemek için yükseltildi).
Aşağıdaki iki örnek Tcl komut dosyası var (ref: http://wiki.tcl.tk/15315 )
Server.tcl:
::cisco::eem::event_register_none maxrun 120
namespace import ::cisco::eem::*
namespace import ::cisco::lib::*
proc accept {chan addr port} {
puts "$addr:$port says [gets $chan]"
puts $chan goodbye
close $chan
}
socket -server accept 12345
vwait forever
Client.tcl:
::cisco::eem::event_register_none maxrun 20
namespace import ::cisco::eem::*
namespace import ::cisco::lib::*
set chan [socket 10.0.0.2 12345]
puts $chan hello
flush $chan
puts "10.0.0.2:12345 says [gets $chan]"
close $chan
10.0.0.2 bir geri dönüşe atanır.
Dinleme bağlantı noktalarını "kontrol düzlemi ana bilgisayar açık bağlantı noktalarını göster" komutuyla gösterdiğimde, 12345'in sunucu bağlantı noktası dinliyor, ancak istemci komut dosyası herhangi bir çıktı üretmiyor. Yönlendiriciye (fiziksel arabirim aracılığıyla) 12345 numaralı bağlantı noktasına giden bir telnet bağlantı reddedilir. Hiçbir ACL etkin değil.
Bu komut dosyaları, ActiveTCL 8.5 çalıştıran bir Windows XP bilgisayarından çalışır.
Bu, EEM 3.0 içindeki bir hata veya güvenlik özelliği midir? EEM 3.0 içinde TCP soketlerini etkinleştirmek için herhangi bir ek komut veya ayar gerekli mi?