使用DirectPlay進(jìn)行網(wǎng)絡(luò)互聯(lián)(4) 摘要: 本篇是使用DirectPlay進(jìn)行網(wǎng)絡(luò)互聯(lián)(3)的續(xù)篇。
客戶(hù)端的處理
客戶(hù)端并不像服務(wù)器端那么復(fù)雜,它通常只使用兩種消息,即接收數(shù)據(jù)和終止會(huì)話(huà)消息,以及需要連接和保持單一連接(服務(wù)器端)。另外最主要的就是客戶(hù)端應(yīng)用程序必須指定其玩家的位置,以便主機(jī)能夠檢索它們。設(shè)置玩家的信息是通過(guò)首先將相關(guān)數(shù)據(jù)填入一個(gè)DPN_PLAYER_INFO結(jié)構(gòu)體,然后再調(diào)用
IDirectPlay8Client::SetClientInfo函數(shù)來(lái)實(shí)現(xiàn)。
使用DirectPlay進(jìn)行網(wǎng)絡(luò)互聯(lián)(3) 摘要: 本篇是使用DirectPlay進(jìn)行網(wǎng)絡(luò)互聯(lián)(2)的續(xù)篇。
銷(xiāo)毀玩家
當(dāng)玩家斷開(kāi)連接時(shí),服務(wù)器端會(huì)收到消息DPN_MSGID_DESTROY_PLAYER,這時(shí)需要將消息緩沖區(qū)轉(zhuǎn)換為DPNMSG_DESTROY_PLAYER類(lèi)型。
使用DirectPlay進(jìn)行網(wǎng)絡(luò)互聯(lián)(2) 摘要:
一個(gè)網(wǎng)絡(luò)使用IP地址和端口來(lái)傳送數(shù)據(jù),在DirectPlay中,使用DirectPlay專(zhuān)用對(duì)象IDirectPlay8Address來(lái)構(gòu)造地址。常用的IDirectPlay8Address方法有三個(gè):
IDirectPlay8Address::Clear 清除所有地址數(shù)據(jù)
IDirectPlay8Address::SetSP 設(shè)置服務(wù)提供者
IDirectPlay8Address::AddComponent 添加地址組件
使用DirectPlay進(jìn)行網(wǎng)絡(luò)互聯(lián)(1) 摘要:
網(wǎng)絡(luò)是指多臺(tái)計(jì)算機(jī)互聯(lián)以進(jìn)行數(shù)據(jù)傳輸及通信的系統(tǒng)。除了兩個(gè)或更多的計(jì)算機(jī)之外,網(wǎng)路還需要有網(wǎng)絡(luò)互聯(lián)軟件(或一個(gè)網(wǎng)路操作系統(tǒng))、網(wǎng)絡(luò)適配器以及電纜。網(wǎng)絡(luò)適配器有各種形狀和大小,但是一般都采用調(diào)制解調(diào)器的形狀。實(shí)際上,調(diào)制解調(diào)器就是一個(gè)網(wǎng)路適配器,它能夠?qū)⒁慌_(tái)計(jì)算機(jī)通過(guò)世界上最大的網(wǎng)絡(luò)--
-互聯(lián)網(wǎng)連接到數(shù)百萬(wàn)臺(tái)計(jì)算機(jī)上。
網(wǎng)絡(luò)互聯(lián)模型有三種基本類(lèi)型:服務(wù)器端、客戶(hù)端以及點(diǎn)對(duì)點(diǎn)。
使用服務(wù)器端模型,可以建立一個(gè)中央網(wǎng)絡(luò)互聯(lián)系統(tǒng)。其他計(jì)算機(jī)使用客戶(hù)端模型連接到服務(wù)器端后,就可以向服務(wù)器端發(fā)送數(shù)據(jù)以及從服務(wù)器端接收數(shù)據(jù)。客戶(hù)端沒(méi)有其他客戶(hù)端的信息,不直接與它們連接,客戶(hù)端都只知道服務(wù)器端的信息,而服務(wù)器端則擁有所有客戶(hù)端的信息以及適合這些客戶(hù)端之間的路由信息。服務(wù)器端和客戶(hù)端常常成對(duì)進(jìn)行描述,即服務(wù)器端/客戶(hù)端(C/S)模型,但是在使用DirectPlay時(shí),將二者分開(kāi)是有必要的,因?yàn)榉?wù)器端和客戶(hù)端是由兩個(gè)獨(dú)立的組件組成的。