我正在尝试使用IOS版本12.4(24)T8在Cisco EEM 3.0 TCL中设置客户端/服务器套接字(最近进行了升级,以确定问题是否为EEM ver)。
我有以下两个示例Tcl脚本(参考: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被分配给环回。
当我通过“ show control-plane host open-ports”命令显示监听端口时,服务器端口12345正在监听,但客户端脚本不会产生任何输出。到路由器(通过物理接口)到端口12345的telnet导致连接被拒绝。没有启用任何ACL。
这些脚本可从运行ActiveTCL 8.5的Windows XP计算机上运行。
这是EEM 3.0中的错误或安全功能吗?在EEM 3.0中启用TCP套接字是否需要其他命令或设置?
有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以提供并接受自己的答案。
—
罗恩·莫平