freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于tcp局域網(wǎng)聊天程序設(shè)計(jì)(delphi-展示頁

2024-11-24 15:03本頁面
  

【正文】 nClientDisconnect 事件 . 3 另外 ,客戶端 Sockets和服務(wù)器端 socket從連接中收到一個(gè)錯(cuò)誤信息時(shí) ,都將產(chǎn)生有個(gè)錯(cuò)誤事件 . 錯(cuò)誤事件 :客戶 sockets和服務(wù)器 sockets通常會(huì)產(chǎn)生一個(gè) OnError事件 ,當(dāng)他們從連接中收到一個(gè)錯(cuò)誤信息的時(shí)候 .你能夠?qū)懸粋€(gè) OnError 事件處理去響應(yīng)這些錯(cuò)誤信息 .這個(gè) OnError事件處理提供傳送關(guān)于 socket試圖做什么的時(shí)候這個(gè)錯(cuò)誤發(fā)生的信息 ,以及錯(cuò)誤信息提供的錯(cuò)誤代 碼 .可以在 OnError事件處理中對(duì)這個(gè)錯(cuò)誤作出響應(yīng) ,并且把錯(cuò)誤代碼改為 0,以避免 socket 產(chǎn)生一個(gè)例外 . 當(dāng)開始和完成發(fā)生時(shí) ,socket 控件通常會(huì)收到一個(gè)事件號(hào) (number of events).如果應(yīng)用程序需要改變 socket開始操作的處理過程或通過連接開始讀或?qū)懖僮鲿r(shí) ,將寫事件 handlers 去應(yīng)答這些 client events 和 server events. 第 二 章 系統(tǒng)設(shè)計(jì) 系統(tǒng)設(shè)計(jì)目標(biāo) 局域網(wǎng)聊天程序的設(shè)計(jì)目標(biāo)為一個(gè)高性能的,易于使用的,面向局域網(wǎng)的 即時(shí)信息軟件。 服務(wù)器端連接,是指當(dāng)服務(wù)器端 socket 接收到客戶端 socket 的連接請(qǐng)求后,就把服務(wù)器端 socket 的描述發(fā)給客戶端,一旦客戶端確認(rèn)了此描述,連接就建立了。 監(jiān)聽連接,服務(wù)器端 socket 并不定位具體的客戶端 socket,而是處于等待連接的狀態(tài)。為此,客戶端的 socket 必須首先描述它要連接的服務(wù)器端 socket(主要是指服務(wù)器 端 socket 的地址和端口號(hào) ),然后再定位所要連接的服務(wù)器端 socket,找到以后,就向服務(wù)器端 socket 請(qǐng)求連接。 Socket socket 之間的連接可以分為三種類型:客戶端連接,監(jiān)聽連接以及服務(wù)器端連接。在 TCP/IP 網(wǎng)絡(luò)中兩個(gè)進(jìn)程間的相互作用的主機(jī)模式是客戶機(jī) /服務(wù)器模式 (Client/Server model)。 ( 2)服務(wù)進(jìn)程一般是先于客戶請(qǐng)求啟 動(dòng)的。 從上面的描述過程可知: ( 1)客戶與服務(wù)器進(jìn)程的作用是非對(duì)稱的。 ( 2)向服務(wù)器發(fā)出服務(wù)請(qǐng)求報(bào)文,等待并接收應(yīng)答;繼續(xù)提出請(qǐng)求。 ( 4)返回第二步,等待另外的客戶請(qǐng)求 ( 5)關(guān)閉服務(wù)器。新進(jìn)程處理此客戶請(qǐng)求,并不需要對(duì)其他請(qǐng)求做出應(yīng)答。 ( 3)接收到重復(fù)服務(wù)請(qǐng)求,處理該請(qǐng)求并發(fā)送應(yīng)答信號(hào)。 首先服務(wù)器方要啟動(dòng),并根據(jù)請(qǐng)求提供相應(yīng)服務(wù): ( 1)打開一通信通道并告知本地主機(jī),它在某一公認(rèn)地址端口上 (如 為 80)接受客戶請(qǐng)求。 目前大多數(shù)應(yīng)用軟件系統(tǒng)都是 Client/Server 形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的 Web應(yīng)用發(fā)展, Web 和 Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。 客戶機(jī) /服務(wù)器模式 C/S 結(jié)構(gòu)( Client/Server 結(jié)構(gòu))是大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。前者為核內(nèi)設(shè)計(jì),后者為核外設(shè)計(jì)。 TCP 是面向連接的,通信雙方保持一條通路,好比目前的電話線,使用 tel 登陸 BBS,用的就是 TCP 協(xié)議; UDP是無連接的,通信雙方都不保持對(duì)方的狀態(tài),瀏覽器訪問 Inter 時(shí)使用的 HTTP 協(xié)議就是基于 UDP協(xié)議的。 1 基于 TCP 局域網(wǎng)聊天程序 第 一 章 設(shè)計(jì) 理論基礎(chǔ) TCP/IP 協(xié)議 TCP/IP 協(xié)議的核心部分是傳輸層協(xié)議 (TCP、 UDP),網(wǎng)絡(luò)層協(xié)議 (IP)和物理接口層,這三層通常是在操作系統(tǒng)內(nèi)核中設(shè)計(jì)。因此用戶一般不涉及。 編程時(shí),編程界面有兩種形式:一、是由內(nèi)核心直接提供的系統(tǒng)調(diào)用;二、 使用以庫函數(shù)方式提供的各種函數(shù)。用戶服務(wù)要通過核外的應(yīng)用程序才能設(shè)計(jì),所以要使用套接字 (socket)來設(shè)計(jì)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到 Client 端和 Server 端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。 ( 2)等待客戶請(qǐng)求到達(dá)該端口。接收并發(fā)服務(wù)請(qǐng)求,要激活一新進(jìn)程來處理這個(gè) 客戶請(qǐng)求。服務(wù)完成后,關(guān)閉此新進(jìn)程與客戶的通信鏈路,并終止。 客戶方: ( 1)打開一通信通道,并連接到服務(wù)器所在主機(jī)的特定端口。 2 ( 3)請(qǐng)求結(jié)束后關(guān)閉通信通道并終止。因此編碼不同。只要系統(tǒng)運(yùn)行,該進(jìn)程一直存在,直到 正常終止或者強(qiáng)迫終止。該模式的建立基于以下兩點(diǎn): 非對(duì)等作用; 通信完全是異步的。 客戶端連接是指由客戶端的 socket 提出連接請(qǐng)求,要連接的目標(biāo)是服務(wù)器端的socket。當(dāng)然,服務(wù)器端的 socket 此時(shí)未必正好處于準(zhǔn)備好狀態(tài),不過,服務(wù)器端的 socket 會(huì)自動(dòng)維護(hù)客戶請(qǐng)求連接的隊(duì)列,然后在它認(rèn)為合適的時(shí)候向客戶端 socket 發(fā)出 允許連接 (accept)的信號(hào),這時(shí)客戶端 socket 與服務(wù)器端 socket 的連接就建立了。當(dāng)服務(wù)器端 socket 監(jiān)聽到或者說 接收到客戶端 socket 的連接請(qǐng)求,它就響應(yīng)客戶端 socket 的請(qǐng)求建立一個(gè)新的 socket 句柄并與客戶 端連接,而服務(wù)器端 socket繼續(xù)處于監(jiān)聽狀態(tài),還可以接收其它客戶端 socket 的連接請(qǐng)求。在本文中的聊天程序用的就是監(jiān)聽連接,即服務(wù)器設(shè)置連接個(gè)數(shù)后進(jìn)行監(jiān)聽,客戶端進(jìn)行對(duì)服務(wù)器端的連接,這樣就可以進(jìn)行相互通信了。最終的程序應(yīng)具有如下功能 : ( 1) 客戶端使用簡(jiǎn)便,服務(wù)器端運(yùn)行穩(wěn)定。 ( 2) 客戶端與服務(wù)器端功能獨(dú)立,可獨(dú)立運(yùn)行在不同的計(jì)算機(jī)上或運(yùn)行在同一臺(tái)計(jì)算機(jī)上 ,具有最大的靈活性。 ( 4) 選擇特定用戶并與其交談,還可以向在所有在線的用戶發(fā)送消息。完成一個(gè)基于服務(wù)器和客戶端的局域網(wǎng)通訊軟件,類似于聊天室,可進(jìn)行注冊(cè)、登錄、系統(tǒng)信息記錄、聊天等功能。 客戶端設(shè)計(jì) 客戶端設(shè)計(jì)界面圖為: 圖 聊天客戶端界面圖 從聊天 客戶端界面圖知道設(shè)計(jì)步驟為: 添加一個(gè)客戶 端 socket 控件( ClientSocket)到 form 中 使 之 成為一個(gè) TCP/IP 客戶。一但你描述你想得到的連接,你可以使用客戶 socket 控件去完成連接服務(wù)。使用客戶 sockets 去: 客戶 socket 控件有一個(gè)數(shù)字 properties,允許你指定想連接的服務(wù)器系統(tǒng)和端口。 如果不知道主機(jī)名,或者關(guān)心找到服務(wù)器的速度,你可以指定服務(wù)器系統(tǒng)的 IP 地 5 址,通過使用 Address property。
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1