靜網PWA視頻評論

UNIX TCP/地址網絡文件傳輸的實現

2023年09月26日

- txt下載

摘要:該文著重探討如何利用UNIX TCP/地址所提供的套接字接口和 網絡 庫例程來編制用戶 應用 程序,並在此基礎叟實現了網絡文件傳輸。
一、引言
隨著 計算 機應用的不斷深入和信息交流的不斷增加,許多UNIX系統用戶越來越感到,僅由一台高性能微機運行UNIX,帶多台至幾十台終端已不能滿足應用的需要,因此,越來越多的系統正在向多用戶網絡方向 發展 。
UNIX TCP/地址網絡就是解決上述矛盾的一種系統。它將多台運行UNIX系統的超級微機用電纜線連接起來,採用TCP/地址協議進行通信,任一微機所連接的終端可登錄到網上其它任一主機上進行操作,也可以通過網絡提供的功能,進行其它網絡操作。
SCO UNIX TCP/地址網絡系統為用戶提供了許多通信功能,它包括遠程登錄、文件傳輸、郵件發送以及其它有關網絡應用、管理及控制方面的命令。這些功能均在命令級實現,即用戶只需在命令提示符下鍵入相應的命令,即可完成相應的操作。但是,有許多應用系統對網絡功能的調用是在應用程式運行過程中的,僅通過命令接口是不能完全滿足應用的需要的,因此,用戶必須通過網絡提供的接口編制自己的網絡應用程式。SCO UNIX TCP/地址為用戶提供了一組套接字接口,本文將介紹如何通過調用套接字以及TCP/地址提供的庫函數編制一個文
件傳輸應用程式。
二、套接字接口及調用
1.套接字接口
一個用戶應用系統,即一個客戶進程,通常需要與一個完成其功能有的服務進程進行通信。在UNIX系統中完成這種進程間通信的一個 方法 是通過管道(P地址ES)來實現的,UNIX網絡運行系統也提供一個更靈活的強有力的獨立子系統以支持一個分布式環境的進程間通信,這個子系統就稱作套接字(SOCKET)接口。套接字接口構成了在單個主機內及整個網際間的編程介面和進程間通信的基礎。
一個套接字是一個軟體實體,它為進程間通信提供了基本的構件,它是進程間通信的端點,對互連網地址來說,下面的一對全名套接字唯一確定了通信雙方的連接:
<<node.port><node.port>>
其中,node是4位元組地址,port為2位元組長,左邊的是本地套接字,右邊是遠程或外部套接字。
套接字具有類型,其類型是由面向程式設計師的通信特性決定的,它與套接字支持的特殊協議有關。時程通常是在相同類型的套接字之間通信。 目前 程式設計師可使用下面三種類型的套接字。
·流套接字:提供雙向的、可靠的、有序的且不重複的無記錄邊界的數據流,它是最常用的一種類型。
·數據報套接字:它支持雙向數據流,但記錄邊界被保持,接收進程必須重新定序,消除重複並提供可靠保證,它適用於單個報文的可靠性不重要的場合。
·原始套接字:使用原始套接字,程式設計師能訪問低層通信協議(如地址),它不是為一般用戶設置的,而是為了開發新的通信協議,或是為了訪問現有協議中較隱蔽功能而設置的。
2.套接字的調用
TCP/地址的系統調用主要是通過對套接字的操作來實現的,下面給出了部分常用的TCP/地址系統調用:
·scoket 創建套接字
·bind 為套接字賦一個名字
·connect 啟動一個連接
·accept 接受連接
·listen 監聽連接
·write/send 發送信息
·read/recv 接收信息
·close 關閉套接字
三、UNIX網絡庫例程的應用
網絡庫例程的主要用途是確定和建立網絡地址。
在客戶方與服務方進行通信前,在遠程節點上確定一個服務需要進行多級映射。為便於使用,每個服務被指定一個名字,這個名字必須被翻譯成網絡地址,最後,該地址被用來確定一個物理位置和到服務的路徑。可見,確定遠程節點上的一個服務需要三級映射,這三級映射的具體實現隨著網絡結構不同而有所變化。
UNIX網絡庫例程是C程序語言函數調用,它提供下列映射的標準例程:
·主機名字到網絡地址
·網絡地址到網絡號
·協議名字到協議號
·服務名字到埠號及伺服器使用的適當協議
轉貼於論文聯盟 http://www.lwlm.com

收藏

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.