官术网_书友最值得收藏!

4.1.1 使用telnet

telnet是一種用于網絡編程的非常強大的調試工具,你可以在命令shell中輸入telnet來啟動它。

注意:在Windows中,需要激活telnet。要激活它,需要到“控制面板”,選擇“程序”,點擊“打開/關閉Windows特性”,然后選擇“Telnet客戶端”復選框。Windows防火墻將會阻止我們在本章中使用的很多網絡端口,你可能需要管理員賬戶才能解除對它們的禁用。

你可能曾經使用過telnet來連接遠程計算機,但其實你也可以用它與因特網主機所提供的其他服務進行通信。下面是一個可以操作的例子。請輸入:

如圖4-1所示,你可以得到與下面這一行相似的信息:

上面例子說明了什么?它說明你已經連接到了大多數UNIX計算機都支持的“當日時間”服務。而你剛才所連接的那臺服務器就是由國家標準與技術研究所運維的,這家研究所負責提供銫原子鐘的計量時間。(當然,由于網絡延遲的緣故,原子鐘反饋過來的時間并不完全準確。)

圖4-1 “當日時間”服務的輸出

按照慣例,“當日時間”服務總是連接到端口13。

注意:在網絡術語中,端口并不是指物理設備,而是為了便于實現服務器與客戶端之間的通信所使用的抽象概念(見圖4-2)。

圖4-2 連接到服務器端口的客戶端

運行在遠程計算機上的服務器軟件不停地等待那些希望與端口13連接的網絡請求。當遠程計算機上的操作系統接收到一個請求與端口13連接的網絡數據包時,它便喚醒正在監聽網絡連接請求的服務器進程,并為兩者建立連接。這種連接將一直保持下去,直到被其中任何一方中止。

當你開始用time-a.nist.gov在端口13上建立telnet會話時,網絡軟件中有一段代碼非常清楚地知道應該將字符串“time-a.nist.gov”轉換為正確的IP地址129.6.15.28。隨后,telnet軟件發送一個連接請求給該地址,請求一個到端口13的連接。一旦建立連接,遠程程序便發送回一行數據,然后關閉該連接。當然,一般而言,客戶端和服務器在其中一方關閉連接之前,會進行更多的對話。

下面是另一個同類型的試驗,但它更加有趣。請執行以下操作:

然后非常仔細地鍵入以下內容:

也就是在末尾按兩次Enter鍵。

圖4-3顯示了以上操作的響應結果。它看上去應該是你非常熟悉的——你得到的是一個HTML格式的文本頁,即Cay Horstmann的主頁。

圖4-3 使用telnet訪問HTTP端口

上述操作與Web瀏覽器訪問某個網頁所經歷的過程是完全一致的,它使用HTTP向服務器請求Web頁面。當然,瀏覽器能夠更精致地顯示HTML代碼。

注意:如果一臺Web服務器用相同的IP地址為多個域提供宿主環境,那么在連接這臺Web Server時,就必須提供Host鍵/值對。如果服務器只為單個域提供宿主環境,則可以忽略該鍵/值對。

主站蜘蛛池模板: 安西县| 汉源县| 手游| 广灵县| 临泽县| 尼木县| 徐汇区| 临高县| 雷波县| 新竹市| 故城县| 张家口市| 岐山县| 宣化县| 轮台县| 乐陵市| 哈尔滨市| 泰顺县| 龙泉市| 碌曲县| 德阳市| 旺苍县| 颍上县| 临沧市| 抚州市| 扶风县| 锡林郭勒盟| 徐水县| 平利县| 寿光市| 南靖县| 华阴市| 二连浩特市| 年辖:市辖区| 甘泉县| 侯马市| 江陵县| 雷山县| 甘肃省| 洛隆县| 冕宁县|