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

正文內(nèi)容

五子棋設(shè)計(jì)報(bào)告(編輯修改稿)

2024-08-30 09:28 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 的目標(biāo),就是只要寫一次程序,在任何地方、任何時(shí)間該程序永遠(yuǎn)都能夠運(yùn)行。Java 是怎么實(shí)現(xiàn)平臺(tái)無(wú)關(guān)性的呢?只要安裝 Java 運(yùn)行系統(tǒng), Java 就可以在任何處理器上運(yùn)行。Java 解釋器生成與體系無(wú)關(guān)的字節(jié)碼指令,這些指令對(duì)應(yīng)于 Java 虛擬機(jī)里表示,Java 解釋器得到字節(jié)碼后,對(duì)它進(jìn)行轉(zhuǎn)換,使之能夠在不同的平臺(tái)上運(yùn)行。(1)簡(jiǎn)單性Java 語(yǔ)言是一種面向?qū)ο蟮恼Z(yǔ)言,它通過(guò)提供最基本的方法來(lái)完成指定的任務(wù),開(kāi)發(fā)者只需要知道一些概念就能夠編寫出一些應(yīng)用程序。Java 程序相對(duì)較小,其代碼能夠在小機(jī)器,例如手機(jī)上運(yùn)行,這應(yīng)該是大家經(jīng)常可以看到的。(2) 面向?qū)ο笳Z(yǔ)言Java 的設(shè)計(jì)集中于對(duì)象及其接口,它提供了簡(jiǎn)單的類機(jī)制以及動(dòng)態(tài)的接口模型。對(duì)象中封裝了它的狀態(tài)變量和相應(yīng)的方法,實(shí)現(xiàn)了模塊化和信息的隱藏;而類則是提供了對(duì)象的原型,并且通過(guò)繼承的機(jī)制,子類可以使用父類所提供的方法,以實(shí)現(xiàn)代碼的復(fù)用。(3) 健壯性Java 語(yǔ)言被病毒感染和破壞得最少。大部分病毒程序常用的方法就是通過(guò)巧妙地運(yùn)用地址變量如指針來(lái)獲取計(jì)算機(jī)的資源,而 Java 正好放棄了難學(xué)和危險(xiǎn)的指針功能,從而使 Java 更安全。(4) 多線程設(shè)計(jì) Java 的目標(biāo)之一,就是為了滿足人們對(duì)創(chuàng)建交互式網(wǎng)上程序的需要。多線程就是為實(shí)現(xiàn)這個(gè)目標(biāo)而設(shè)計(jì)出來(lái)的,它使用 Java 編寫出來(lái)的應(yīng)用程序可以同時(shí)執(zhí)行多個(gè)任務(wù)。多線程機(jī)制使應(yīng)用程序能夠并行執(zhí)行,而且同步機(jī)制保證了對(duì)共享數(shù)據(jù)的正確操作。(5) 自動(dòng)內(nèi)存管理可以說(shuō)自動(dòng)內(nèi)存管理是 Java 健壯性的體現(xiàn),內(nèi)存管理是很多種應(yīng)用程序內(nèi)的關(guān)鍵因素。在網(wǎng)絡(luò)上的其他地方讀取大量的數(shù)據(jù),之后把該數(shù)據(jù)寫入硬盤上的數(shù)據(jù)庫(kù)內(nèi),一般的設(shè)計(jì)就是把數(shù)據(jù)讀入內(nèi)存中的某種集合內(nèi),對(duì)這些數(shù)據(jù)執(zhí)行某些操作,之后把數(shù)據(jù)寫入數(shù)據(jù)庫(kù)。在數(shù)據(jù)寫入數(shù)據(jù)庫(kù)后,在下一批處理之3前,臨時(shí)存儲(chǔ)數(shù)據(jù)的集合必須清空舊數(shù)據(jù),或者被刪除后再建。這種操作可能執(zhí)行很多次,在像 C++這些不提供自動(dòng)垃圾搜集的語(yǔ)言中,手工清空或刪除集合數(shù)據(jù)結(jié)構(gòu)邏輯上的一點(diǎn)點(diǎn)缺陷就可能導(dǎo)致大量的內(nèi)存被錯(cuò)誤地收回或丟失。Java 的自動(dòng)內(nèi)存管理正好解決這一點(diǎn),它使程序員不用再為內(nèi)存管理寫大量的代碼 [4]。 Java Socket 網(wǎng)絡(luò)編程 Java Socket 網(wǎng)絡(luò)編程基礎(chǔ)網(wǎng)絡(luò)編程,簡(jiǎn)單的理解就是兩臺(tái)計(jì)算機(jī)相互通信,其基本模型就是客戶機(jī)/服務(wù)器模型,也就是通信雙方中的一方必須提供一個(gè)固定的位置,而另一方則只需要知道這個(gè)固定的位置,并去建立兩者之間的聯(lián)系,然后完成數(shù)據(jù)交換。這里提供固定位置的一方通常稱為服務(wù)器,而建立聯(lián)系的一方通常稱為客戶端。基于客戶機(jī)/服務(wù)器的 Socket 通信模型如下圖所示 [5]:服務(wù)響應(yīng)服務(wù)請(qǐng)求建立連接客戶端服務(wù)器端創(chuàng)建 Socket 類對(duì)象指定服務(wù)器端公認(rèn)的Socket 地址和端口在 Socket 上監(jiān)聽(tīng)客戶端的連接請(qǐng)求阻塞,等待連接的建立接收客戶端的請(qǐng)求信息解釋并處理請(qǐng)求信息將處理結(jié)果返回給客戶端創(chuàng)建 Socket 類對(duì)象向服務(wù)器端發(fā)送連接請(qǐng)求向服務(wù)器發(fā)出服務(wù)請(qǐng)求接收服務(wù)結(jié)果 基于客戶機(jī)/服務(wù)器的 Socket 通信模型4Java 為這個(gè)模型的實(shí)現(xiàn)提供了簡(jiǎn)化了的 Socket 編程接口。在程序中只要導(dǎo)入 包就可以方便的使用 java 的 Socket 編程接口。Java 中 Socket 通信模型如下圖所示ServerServerSocket ss(port )()//等待連接OutputStreamInputStream()ClientSocket s(host,port )//請(qǐng)求連接服務(wù)器OutputStreamInputStream() Java 中的 Socket 編程模型 Socket 編程的實(shí)現(xiàn)Socket 類表示一個(gè)系統(tǒng)的 IP 地址和端口號(hào)的結(jié)合,可以理解為客戶端或者服務(wù)器端的一個(gè)特殊對(duì)象。它包含兩個(gè)處理流的方法,一個(gè)是 getInputStream()方法,另一個(gè)是 getOutputStream()方法,分別用來(lái)獲得網(wǎng)絡(luò)的輸入流和輸出流。構(gòu)造 Socket 對(duì)象的示例代碼如下:Socket s = new Socket(IP, port)。 IP 為服務(wù)器端的 IP 地址,port 是服務(wù)器端的端口號(hào)。ServerSocket 是一個(gè)專門用來(lái)建立 Socket 服務(wù)器的類,它可以用服務(wù)器需要使用的端口號(hào)作為參數(shù)來(lái)創(chuàng)建 ServerSocket 對(duì)象。示例代碼如下:ServerSocket ss = new ServerSocket(TCP_PORT)。當(dāng)一個(gè)客戶端程序建立一個(gè) Socket 連接,所連接的端口號(hào)為上述TCP_PORT 時(shí),服務(wù)器對(duì)象 ss 便響應(yīng)這個(gè)連接,然后 ss 對(duì)象調(diào)用 accept()方法創(chuàng)建一個(gè)代表服務(wù)器的 Socket 對(duì)象。創(chuàng)建后服務(wù)器便可以利用這個(gè) Socket 對(duì)象與客戶端進(jìn)行通信。示例代碼如下:Socket clientSocket = ()。在本系統(tǒng)的實(shí)現(xiàn)過(guò)程中,在支持網(wǎng)絡(luò)對(duì)弈的服務(wù)器類的定義中需要使用ServerSocket 類來(lái)響應(yīng)多個(gè)客戶端的連接請(qǐng)求。 Java 圖形編程Java 中的 Graphics 類是用于繪圖和顯示格式化文本的工具類。在 Java 程序中繪圖必須在一個(gè)窗口(容器)中進(jìn)行,繪圖窗體經(jīng)常被設(shè)計(jì)為一個(gè)組件容器。一般首先在一個(gè)面板中進(jìn)行繪制,然后再將這個(gè)面板添加到顯示窗口中。5Graphics 類是在 包中聲明。顯示格式化文本和繪圖是通過(guò)調(diào)用Graphics 類的 drawXXX()方法實(shí)現(xiàn)的,例如 drawString(String),drawLine()等。繪圖采用的坐標(biāo)系是原點(diǎn)在左上角,縱軸向下以像素為單位的坐標(biāo)系 [6]。3. 需求分析和總體設(shè)計(jì)網(wǎng)絡(luò)互連實(shí)現(xiàn)信息的共享成為以后計(jì)算機(jī)的發(fā)展趨勢(shì),現(xiàn)有的網(wǎng)絡(luò)編程模式主要分成兩類:一種是基于 C/S(Client/Server 客戶機(jī)/ 服務(wù)器)模式,另一種是B/S (Browser/Server,瀏覽器/服務(wù)器)模式;C/S 程序具有好的交互性,功能強(qiáng)大, 但是客戶端必須安裝客戶端軟件,限制了其應(yīng)用;B/S 模式下要求客戶端具有瀏覽器,但瀏覽器在安全方面有一些限制,交互性與功能有一些限制。網(wǎng)絡(luò)五子棋系統(tǒng)應(yīng)用于局域網(wǎng),對(duì)交互性要求較高,本系統(tǒng)選用了 C/S 模式進(jìn)行實(shí)現(xiàn),網(wǎng)絡(luò)內(nèi)部使用 TCP/IP 方式利用 Socket 通過(guò)傳輸層提供的服務(wù),使用Java 進(jìn)行圖形用戶的搭建,系統(tǒng)分成兩個(gè)部分,分別為服務(wù)端程序以及客戶端程序 [7]。本文首先介紹系統(tǒng)設(shè)計(jì)思想以及相關(guān)協(xié)議的制定,以及分別闡述了服務(wù)端程序以及客戶端程序的具體實(shí)現(xiàn)。五子棋網(wǎng)絡(luò)游戲主要分為兩個(gè)部分,游戲服務(wù)端和游戲客戶端。五子棋游戲規(guī)則:游戲雙方各執(zhí)一種顏色的棋子,輪流在棋盤下棋子,一方的棋子在橫、豎、兩個(gè)對(duì)角線上首先到達(dá)五子者為勝方;游戲服務(wù)端主要存儲(chǔ)所有連線客戶的相關(guān)信息及各種狀態(tài),并負(fù)責(zé)游戲客戶之間信息的傳遞;游戲客戶端提供客戶連接服務(wù)器,具有創(chuàng)建、邀請(qǐng)、加入、悔棋、退出游戲等等功能,并能與聯(lián)網(wǎng)客戶進(jìn)行游戲。 系統(tǒng)設(shè)計(jì)思想本系統(tǒng)的功能能夠?qū)崿F(xiàn)一個(gè)在網(wǎng)絡(luò)上供客戶進(jìn)行對(duì)戰(zhàn)的五子棋網(wǎng)絡(luò)游戲,客戶只要登陸到服務(wù)器上,就能選擇任何其它用戶已創(chuàng)建好的游戲,進(jìn)行五子棋對(duì)戰(zhàn)游戲,是 C/S 模式的網(wǎng)絡(luò)游戲。在 C/S 模式游戲中,Server 一般提供所有用戶的全局信息,并能提供客戶之間的信息轉(zhuǎn)發(fā),客戶之間的通訊必須通過(guò) Server 進(jìn)行。因?yàn)樵诙鄠€(gè)客戶能夠連接到同一臺(tái) Server 上,所以 Server 必須用 Thread 負(fù)責(zé)每個(gè)用戶的通訊和消息處理。服務(wù)端程序通過(guò)一個(gè) Thread 線程類監(jiān)聽(tīng)客戶端的連接,一旦客戶連接,為該客戶建立連接并啟動(dòng)一個(gè)特定的客戶 thread,利用該連接不斷從客戶讀取數(shù)據(jù),實(shí)現(xiàn)客戶和服務(wù)器或者客戶與客戶之間的信息的交互。客戶端同樣采用的是線程控制的思想,在每一個(gè)客戶端連接上服務(wù)器后,就為此客戶端啟動(dòng)一個(gè)網(wǎng)絡(luò)收發(fā)數(shù)據(jù)線程.6 系統(tǒng)總體設(shè)計(jì)系統(tǒng)使用 Socket 技術(shù)以及 java 多線程機(jī)制結(jié)合在進(jìn)行客戶與服務(wù)端之間信息的交互,但一個(gè)真正實(shí)用程序必須針對(duì)具體應(yīng)用定制一套協(xié)議用于用戶程序之間進(jìn)行交互,而該協(xié)議的定制往往是編寫程序的關(guān)鍵也是核心內(nèi)容,該協(xié)議的完善決定程序是否能夠正常運(yùn)行。所謂協(xié)議就是程序之間交互的信息的格式規(guī)定, 服務(wù)端和客戶端都遵循該協(xié)議才能夠進(jìn)行對(duì)話, 通俗
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1