tcl腳本下載
A. TCL的腳本編輯器是什麼
Active Tcl
官方發布的免費Tcl開發環境,包含許多有用的擴展包,支持windows、linux、mac等多種平台。我現在就用的是這個。
官方下載地址:http://www.activestate.com/activetcl
B. 請如何在Java程序中調用tcl腳本
幾個方案,如Jacl、Feather以及TclBlend。最後選擇了TclBlend。原因是:Jacl雖然好處是用純Java編寫的,可不能支持完全的Tcl指令,比如:glob命令的選項都不能使用;Feather雖然號稱支持Native Tcl的指令,可安裝似乎沒有那麼方便,版本也沒有最近的更新;TclBlend雖然也不是用純Java程序編寫(需要通過JNI去調用C++編寫的動態鏈接庫),可基本上還能看到在不停的維護,稍費周折也能讓它工作起來。
在使用TclBlend的時候,需要注意的是:如果直接使用下載的二進制文件,一般都是基於Tcl8.4的。為了能讓TclBlend在Java中正常工作,需要先用Dependency Walker檢查一下tclblend.dll所依賴的所有文件是否存在。
比如一個實際的問題是,對於xp上安裝IE7的使用者,很可能在執行的時候發現動態鏈接庫dwmapi.dll找不到的現象, 此時需要去單獨下載該動態鏈接庫文件放在系統搜索路徑中。
C. tcl腳本的保存 save
TCL本身不提供面向對象的支持。但是語言本身很容易擴展到支持面向對象。
許多C語言擴展都提供面向對象能力,包括XOTcl,IncrTcl等。另外SNIT擴展本身就是用TCL寫的。使用最廣泛的TCL擴展是TK。TK提供了各種OS平台下的圖形用戶界面GUI。連強大的Python語言都不單獨提供自己的GUI,而是提供介面適配到TK上。
另一個流行的擴展包是Expect.Expect提供了通過終端自動執行命令的能力,例如(passwd,ftp,telnet等命令驅動的外殼)。
D. tcl腳本問題
寫腳本隨便找個編輯器就行,記事本也可以。。。
tcl解釋器http://www.activestate.com/activetcl
E. ns2 實現無線感測器網路antsense路由演算法的tcl腳本
NS是一種針對網路技術的源代碼公開的、免費的軟體模擬平台,研究人員使用它可以很容易的進行網路技術的開發,而且發展到今天,它所包含的模塊已經非常豐富,幾乎涉及到了網路技術的所有方面。所以,NS成了目前學術界廣泛使用的一種網路模擬軟體。在每年國內外發表的有關網路技術的學術論文中,利用NS給出模擬結果的文章最多,通過這種方法得出的研究結果也是被學術界所普遍認可的,此外,NS也可作為一種輔助教學的工具,已被廣泛應用在了網路技術的教學方面。因此,目前在學術界和教育界,有大量的人正在使用或試圖使用NS。
然而,對初學者來說,NS是非常難於掌握的,一般人從學習NS到上手至少需要半年多時間。原因是多方面的:一方面,NS內容龐雜,隨軟體所提供的手冊更新不夠快,初學者閱讀起來非常困難;另一方面,使用NS還要掌握其它很多必備的相關知識以及相關工具,這會使初學者感到無從入手;有的使用者可能還不了解網路模擬的過程或是對NS軟體的機制缺乏理解,這也影響了對NS的掌握。另外,不論在國外還是國內,還沒有一本書能集中回答和解決這些問題,這也是NS難於被掌握的一個重要原因。
1、NS2簡介
NS2(Network Simulator, version 2)是一種面向對象的網路模擬器,本質上是一個離散事件模擬器。由UC Berkeley開發而成。它本身有一個虛擬時鍾,所有的模擬都由離散事件驅動的。目前NS2可以用於模擬各種不同的IP網,已經實現的一些模擬有:網路傳輸協議,比如TCP和UDP;業務源流量產生器,比如FTP, Telnet, Web CBR和VBR;路由隊列管理機制,比如Droptail , RED和CBQ;路由演算法,比如Dijkstra等。NS2也為進行區域網的模擬而實現了多播以及一些MAC 子層協議。
NS2使用C++和Otcl作為開發語言。NS可以說是Otcl的腳本解釋器,它包含模擬事件調度器、網路組件對象庫以及網路構建模型庫等。事件調度器計算模擬時間,並且激活事件隊列中的當前事件,執行一些相關的事件,網路組件通過傳遞分組來相互通信,但這並不耗費模擬時間。所有需要花費模擬時間來處理分組的網路組件都必須要使用事件調度器。它先為這個分組發出一個事件,然後等待這個事件被調度回來之後,才能做下一步的處理工作。事件調度器的另一個用處就是計時。NS是用Otcl和C++編寫的。由於效率的原因,NS將數據通道和控制通道的實現相分離。為了減少分組和事件的處理時間,事件調度器和數據通道上的基本網路組件對象都使用C++寫出並編譯的,這些對象通過映射對Otcl解釋器可見。
當模擬完成以後,NS將會產生一個或多個基於文本的跟蹤文件。只要在Tcl腳本中加入一些簡單的語句,這些文件中就會包含詳細的跟蹤信息。這些數據可以用於下一步的分析處理,也可以使用NAM將整個模擬過程展示出來。
2、使用NS進行網路模擬的方法和一般過程。
進行網路模擬前,首先分析模擬涉及哪個層次,NS模擬分兩個層次:一個是基於OTcl編程的層次。利用NS已有的網路元素實現模擬,無需修改NS本身,只需編寫OTcl腳本。另一個是基於C++和OTcl編程的層次。如果NS中沒有所需的網路元素,則需要對NS進行擴展,添加所需網路元素,即添加新的C++和OTcl類,編寫新的OTcl腳本。
假設用戶已經完成了對NS的擴展,或者NS所包含的構件已經滿足了要求,那麼進行一次模擬的步驟大致如下:
(1)開始編寫OTcl腳本。首先配置模擬網路拓撲結構,此時可以確定鏈路的基本特性,如延遲、帶寬和丟失策略等。
(2)建立協議代理,包括端設備的協議綁定和通信業務量模型的建立。
(3)配置業務量模型的參數,從而確定網路上的業務量分布。
(4)設置Trace對象。NS通過Trace文件來保存整個模擬過程。模擬完後,用戶可以對Trace文件進行分析研究。
(5)編寫其他的輔助過程,設定模擬結束時間,至此OTcl腳本編寫完成。
(6)用NS解釋執行剛才編寫的OTcl腳本。
(7)對Trace文件進行分析,得出有用的數據。
(8)調整配置拓撲結構和業務量模型,重新進行上述模擬過程。
NS2採用兩級體系結構,為了提高代碼的執行效率,NS2 將數據操作與控制部分的實現相分離,事件調度器和大部分基本的網路組件對象後台使用C++實現和編譯,稱為編譯層,主要功能是實現對數據包的處理;NS2的前端是一個OTcl 解釋器,稱為解釋層,主要功能是對模擬環境的配置、建立。從用戶角度看,NS2 是一個具有模擬事件驅動、網路構件對象庫和網路配置模塊庫的OTcl腳本解釋器。NS2中編譯類對象通過OTcl連接建立了與之對應的解釋類對象,這樣用戶間能夠方便地對C++對象的函數進行修改與配置,充分體現了模擬器的一致性和靈活性。
3、NS2的功能模塊
NS2模擬器封裝了許多功能模塊,最基本的是節點、鏈路、代理、數據包格式等等,下面分別來介紹一下各個模塊。
(1)事件調度器:目前NS2提供了四種具有不同數據結構的調度器,分別是鏈表、堆、日歷表和實時調度器。
(2)節點(node):是由TclObject對象組成的復合組件,在NS2中可以表示端節點和路由器。
(3)鏈路(link):由多個組件復合而成,用來連接網路節點。所有的鏈路都是以隊列的形式來管理分組的到達、離開和丟棄。
(4)代理(agent):負責網路層分組的產生和接收,也可以用在各個層次的協議實現中。每個agent連接到一個網路節點上,由該節點給它分配一個埠號。
(5)包(packet):由頭部和數據兩部分組成。一般情況下,packet只有頭部、沒有數據部分。
4、NS2的軟體構成
NS2包含Tcl/Tk, OTcl, NS,Tclcl。其中Tcl是一個開放腳本語言,用來對NS2進行編程;Tk是Tcl的圖形界面開發工具,可幫助用戶在圖形環境下開發圖形界面;OTcl是基於Tcl/Tk的面向對象擴展,有自己的類層次結構;NS2為本軟體包的核心,是面向對象的模擬器,用C++編寫,以OTcl解釋器作為前端;Tclcl則提供NS2和OTcl的介面,使對象和變數出現在兩種語言中。為了直觀的觀察和分析模擬結果,NS2 提供了可選的Xgraphy、可選件Nam。
5、NS現有的模擬元素
從網路拓撲模擬、協議模擬和通信量模擬等方面介紹NS的相應元素:
(1)網路拓撲主要包括節點、鏈路。NS的節點由一系列的分類器(Classifier,如地址分類器等)組成,而鏈路由一系列的連接器(Connector)組成。
(2)在節點上,配置不同的代理可以實現相應的協議或其它模型模擬。如NS的TCP代理,發送代理有:TCP,TCP/Reno,TCP/Vegas,TCP/Sack1,TCP/FACK,TCP/FULLTCP等,接收代理有:TCPSINK,TCPSINK/DELACK。TCPSINK/SACK1,TCPSINK/SACK1/DELACK等。此外,還提供有UDP代理及接收代理Null(負責通信量接收)、Loss Monitor(通信量接收並維護一些接收數據的統計)。
(3)網路的路由配置通過對節點附加路由協議而實現。NS中有三種單播路由策略:靜態、會話、動態。
(4)在鏈路上,可以配置帶寬、時延和丟棄模型。NS支持:Drop-tail(FIFO)隊列、RED緩沖管、CBO(包括優先權和Round-robin 調度)。各種公平隊列包括:FQ,SFQ,DRR等。
(5)通信量模擬方面,NS提供了許多通信應用,如FTP,它產生較大的峰值數據傳輸;Telnet則根據相應文件隨機選取傳輸數據的大小。此外,NS提供了四種類型的通信量產生器:EXPOO,根據指數分布(On/Off)產生通信量,在On階段分組以固定速率發送,Off階段不發送分組,On/Off的分布符合指數分布,分組尺寸固定;POO,根據Pareto分布(On/Off)產生通信量,它能用來產生長范圍相關的急劇通信量;CBR,以確定的速率產生通信量,分組尺寸固定,可在分組間隔之間產生隨機抖動;Traffic Trace,根據追蹤文件產生通信量。
F. 哪位高人能提供ns2實現路由器協議的tcl腳本啊
你的分現在就是我的了,245626307,把分加在網路七夕夢的號
NS2本是unix/linux平台下的軟體。現在windows下面也有了。於是嘗試一下。
參考文章《在win9x / 2000/ xp 環境下安裝ns2模擬軟體》http://140.116.72.80/~smallko/ns2/setup.htm
整個安裝過程按照那篇文章說明一步一步走就可以了,那上面說得很詳細。需要特別提出的是,我安裝的時候,選擇的是fcygwin.osuosl.org鏡像,而且發現已經沒有XFree86有關的東西了,於是我選擇了xorg。由於是校園網,上外網得靠代理,所以軟體包下載速度很慢。耐心等吧。大概選擇了 diff, gawk, gcc, gcc-g++, gnuplot, make, patch, perl, xorg-basse/bin/lib/etc, gzip, zip, unzip, x-startup-scripts等等。
根據文章說明,我下載了ns-allinone-2.29.tar.gz。安裝完並設置環境變數,編輯.bashrc並加入:
export NS_HOME=`pwd`/ns-allinone-2.29
export PATH=$NS_HOME/tcl8.4.11/unix:$NS_HOME/tk8.4.11/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.11/unix:$NS_HOME/tk8.4.11/unix:$NS_HOME/otcl-1.11:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.11/library
運行cd ns-allinone-2.27/ns-2.27 ; ./validate檢驗ns2是否安裝正確。
在這一個小節結束之前,筆者以一個範例來檢驗ns和nam。在命令列中輸入startxwin.bat。會產生一個新的窗口,在此命令窗口中輸入
cd ns-allinone-2.27/ns-2.27/ns-tutorial/examples
ns example2.tcl
模擬結束後,ns會去執行nam。按一下nam的執行。就可以看到模擬過程的可視化。
如果遇到nam couldn't find之類的error,是因為程序找不到nam.exe。gcc沒有將它自動編譯進來。將nam文件夾下的agent.h文件,第73行的NULL改成0,然後再nam文件夾下執行:make clean; make ;make install(我這里報錯了,沒install成功,不過好像沒什麼影響)。還要在.bashrc文件的export PATH=$NS_HOME/tcl8.4.11/unix:$NS_HOME/tk8.4.11/unix:$NS_HOME/bin:$NS_HOME/nam-1.11:$PATH
裡面添加有下劃線的一段,這其實是指明了nam.exe文件的位置。 (這也是從網上找到的解決方法)
G. 什麼是tcl腳本,簡單分析一下
Tcl(最早稱為「工具命令語言」"Tool Command Language", 但是目前已經不是這個含義,不過我們仍然稱呼它為TCL)是一種腳本語言。 由John Ousterhout創建。 TCL經常被用於 快速原型開發,腳本編程,GUI和測試等方面。
Tcl的特性包括:
* 任何東西都是一條命令,包括語法結構(for, if等)。
* 任何事物都可以重新定義和重載。
* 所有的數據類型都可以看作字元串。
* 語法規則相當簡單
* 提供事件驅動給Socket和文件。基於時間或者用戶定義的事件也可以。
* 動態的域定義。
* 很容易用C,C++,或者Java擴展。
*解釋語言,代碼能夠動態的改變。
* 完全的Unicode支持。
* 平台無關。Win32,UNIX,Mac上都可以跑。
* 和Windows的GUI緊密集成;Tk
* 代碼緊湊,易於維護。
TCL本身不提供面向對象的支持。但是語言本身很容易擴展到支持面向對象。許多C語言擴展都提供面向對象能力,包括XOTcl,Incr Tcl等。另外SNIT擴展本身就是用TCL寫的。
使用最廣泛的TCL擴展是TK。 TK提供了各種OS平台下的圖形用戶界面GUI。連強大的Python語言都不單獨提供自己的GUI,而是提供介面適配到TK上。另一個流行的擴展包是Expect. Expect提供了通過終端自動執行命令的能力,例如(passwd,ftp,telnet等命令驅動的外殼).
H. TCL腳本語言用什麼軟體來運行呀謝謝!!
GTR,目前華為使用的官方腳本語言就是tcl,該腳本語言用GTR運行。
I. 如何寫tcl腳本謝謝
比如說設置一個變數,同時給其賦值:
set
var1
10
tcl腳本中的注釋,如果在行首,使用#注釋內容;
如果在行尾,使用;#注釋內容
列印字元串在屏幕上,使用
puts
"要輸出的內容"
還有對文件的操作,字元串的操作等,你最好下載一個tcl教程,如果有一些編程基礎,看看差不多就行了,很簡單的。