1 / 87
文档名称:

网路程式相关设计.ppt

格式:ppt   大小:888KB   页数:87页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

网路程式相关设计.ppt

上传人:sanshenglu2 2021/7/29 文件大小:888 KB

下载得到文件列表

网路程式相关设计.ppt

文档介绍

文档介绍:第二十三章 InterNet網路程式設計
有沒有想過自己寫個Service呢?想不想自己也寫一套發信程式呢?在這一章節裡,我們將介紹socket的觀念以及BCB在Internet上開發應用程式的方法。
1
大綱
23-1. Socket觀念
23-2. 哪些VCL元件可以使用
23-3. 寄信程式
23-4. HTTP 抓網頁程式
23-5. 一些Client端的小程式
23-6. 聊天室
23-7. CGI程式設計
本章習題
2
23-1. Socket觀念
Socket是一種API,他介於網路應用程式跟通訊協定之間,他就像是一般的程式中提供的函式一樣,只不過Socket是專用於網路程式之中。所以說,Socket也屬於System call,讓使用者可以在程式中直接呼叫,就好像在C/C++語言中你要輸入就需要使用scanf、cin或是輸出時會用到printf、cout等等。
雖然說使用Socket就像使用一般的函式一樣簡單,但是還是必須要具備一些基本的通訊協定概念,不然什麼時候要呼叫socket()、bind()等函式就一頭霧水了,只是我們只需要了解,不需要知道怎麼寫出這些API。
3
23-1. Socket觀念
Socket最早是出現在BSD系列的Unix主機中,所以現在大家在學習Socket的過程中,最常聽到的就是Berkeley Socket。當然現在我們是在Windows上寫Socket的程式,所以我們使用的Socket就被稱做Win Socket。
會叫做Berkeley的原因是BSD中的『B』就是Berkeley。
Win Socket跟Berkeley Socket有什麼不同?
除了作業系統(開發環境)的不同外,其餘皆大同小異,因為大家通常都會遵循著Berkeley Socket的標準來開發整個Socket的API。
4
23-1. Socket觀念
Socket的定義
網路連線的兩端之間,為了要互相聯繫以及溝通所用的介面就稱做『Socket』。這兩端無論是不是在LAN內都可以。
在Unix下要寫網路程式真的需要對整個Socket以及通訊協定有一定的熟悉度,但是現在BCB打破了如此的迷失。BCB內部提供了Server/Client Socket供Server端以及Client端使用,我們不需要自己慢慢寫程式碼來建立連線,你只要設定好Server/Client Socket的一些屬性,BCB就會幫你完成一堆瑣碎的事情。
我們所要考慮的只剩下該如何設計整個網路程式的主體。
5
23-2. 哪些VCL元件可以使用
在BCB6中撰寫有關網路的程式,會有許多的VCL元件可供我們使用。
例如『Webservices』、『InternetExpress』、『Internet』、『WebSnap』、『FastNet』、『Indy Clients』、以及『Indy Servers』等等,都是發展網路相關程式的元件。
在這一章裡,我們主要要介紹的元件都分布在Internet和FastNet這兩個Page中,包括Client/Server Socket或是其他已經包裝好的VCL元件都可以找的到。
6
23-2. 哪些VCL元件可以使用
InterNet中比較常用到的元件
ClientSocket
Client端的TCP Socket API。可以利用這個元件讓我們使用TCP通訊協定開發Client端的網路應用程式
ServerSocket
Server端的TCP Socket API。可以利用這個元件讓我們使用TCP通訊協定開發Server端的網路應用程式
FastNet中比較常用到的元件
NMDayTime
可以傳回Server端的日期以及時間
NMMsg
傳送一般的文字訊息
7
23-2. 哪些VCL元件可以使用
FastNet中比較常用到的元件
NMMSGServ
接收一般的文字訊息
NMEcho
傳送或是接收訊息,和NMMsg以及NMMSGServ有部分相似
NMFTP
設計端的VCL元件,主要用來檔案傳輸
NMHTTP
利用HTTP通訊協定取得HTML的文件
NMNNTP
從新聞伺服器接收文章,或是傳送文章到新聞伺服器
8
23-2. 哪些VCL元件可以使用
FastNet中比較常用到的元件
NMStrm
傳送資料流
NMStrmServ
接收NMStrm送過來的資料流
NMPOP3
使用POP3通訊協定來接收或是傳送信件
NMSMTP
使用SMTP通訊協定來傳送郵件
NMTime
可以傳回Server端的時間
9
23-2. 哪些VCL元件可以使用
FastNet中比