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

正文內(nèi)容

基于socket的聊天室系統(tǒng)設(shè)計(jì)-wenkub.com

2024-11-13 21:47 本頁(yè)面
   

【正文】 通過(guò)這次畢業(yè)設(shè)計(jì),我學(xué)會(huì)了開(kāi)發(fā)系統(tǒng)的一些步驟和其他軟件技術(shù)的 應(yīng)用,這對(duì)我以后的學(xué)習(xí)和工作有很大的幫助。 畢業(yè)設(shè)計(jì)(論文) 31 測(cè)試項(xiàng) 操作步驟 數(shù)據(jù) 預(yù)期效果 是否符合預(yù)期效果 界面檢視 服務(wù)端及客戶端界面 正常裝載后,檢視頁(yè)面是否符合規(guī)范 IP地址、端口和用戶名是否正確 正確 是 啟動(dòng) /停止服務(wù) 點(diǎn)擊啟動(dòng)服務(wù)和停止服務(wù)按鈕,系統(tǒng)消息框是否給出提示 無(wú) 系統(tǒng)消息框給出相應(yīng)提示信息 是 用戶登錄 1 輸入用戶名 1 登錄是否成功 2 再次輸入用戶名 1登錄是否成功 3 再次輸入用戶名 2登錄是否成功 用戶名 1: Brant 用戶名 2: Bob 1 登錄成功,系統(tǒng)消息框給出相應(yīng)提示 2 登錄失敗,系統(tǒng)消息框給出相應(yīng)提示 3 登錄成功,系統(tǒng)消息給出相應(yīng)提示 是 聊天測(cè)試 使用三個(gè)不同用戶名登錄,查看選擇悄悄話與不選擇 發(fā)送信息 區(qū)別 用戶 名 1: Brant 用戶名 2: Bob 用戶名 3: Will 選擇悄悄話發(fā)送信息僅相應(yīng)用戶能看到該信息,不選擇則全部用戶可看到該信息 是 傳輸文件 選擇一個(gè)用戶和悄悄話選項(xiàng),點(diǎn)擊打開(kāi)文件,輸入相應(yīng) IP然后點(diǎn)擊發(fā)送文件,接受端是否出現(xiàn)提示,點(diǎn)擊接受文件后是否出現(xiàn)新文件 測(cè)試文件: 用戶 1: Brant 用戶 2: Bob 系統(tǒng)消息框出現(xiàn)相應(yīng)提示,有新文件傳入 是 畢業(yè)設(shè)計(jì)(論文) 32 結(jié)論 經(jīng)過(guò)幾個(gè)月的設(shè)計(jì)和開(kāi)發(fā), Socket聊天室系統(tǒng)基本就開(kāi)發(fā)完畢,系統(tǒng)具備了聊天室的一些相關(guān)的功能,如:登入、驗(yàn)證進(jìn)入聊天室、聊天室主界 面、查看用戶、傳輸文件、離開(kāi)。在測(cè)試中,把程序看做一個(gè)不能打 開(kāi)的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮茌斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。 = +接收完畢 。//將接收的流用寫成文件 畢業(yè)設(shè)計(jì)(論文) 29 } ()。//注意這個(gè)的屬性和 send端有所不同 BinaryWriter binary = new BinaryWriter(fs)。 ()。 int data。 ((), 5000)。 } } 接下來(lái)對(duì)發(fā)送功能進(jìn)行設(shè)計(jì),因打開(kāi)客戶端時(shí)已對(duì) 5000 端口進(jìn)行監(jiān)聽(tīng),所以相關(guān)設(shè)置完成后,點(diǎn)擊發(fā)送文件按鈕即可向該用戶發(fā)送文件,系統(tǒng)消息框會(huì)對(duì)該用戶提示接受 ,發(fā)送端界面如下: 畢業(yè)設(shè)計(jì)(論文) 26 圖 57 發(fā)送文件界面圖 打開(kāi)文件 Button 的 Click 事件設(shè)計(jì): private void buttonOpenFile_Click(object sender, EventArgs e) { if (() == ) { = 。 ()。 return。 ()。以下是 畢業(yè)設(shè)計(jì)(論文) 23 客戶端 登陸后 界面 ,因 Load 事件代碼與服務(wù)器端基本相同這里不再重復(fù)。 i++) { result += [i] + |。 (message, , 0)。 SendToClient(c, message)。 ()。 } else { //send err to server SendToClient(this, ERR|state error, Please login first)。 string message = sender + + receiver + : + content。 } else { //send err to server SendToClient(this, ERR|state error, Please login first)。 } 畢業(yè)設(shè)計(jì)(論文) 19 } else if (tokens[0] == CHAT) { if (state == connected) { //此時(shí)接收到的命令的格式為: //命令標(biāo)志符( CHAT) |發(fā)送者的用戶名:發(fā)送內(nèi)容 | //向所有當(dāng)前在線的用戶轉(zhuǎn)發(fā)此信息 myEnumerator = ()。 SendToClient(this, msgUsers)。 (100)。 //更新界面 ()。 } if (tokens[0] == CONN) { //此時(shí)接收到的命令格式為: //命令標(biāo)志符( CONN) |發(fā)送者的用戶名 |, //tokens[1]中保存了發(fā)送者的用戶名 = tokens[1]。 })。 } //接收數(shù)據(jù)并存入 buff數(shù)組中 畢業(yè)設(shè)計(jì)(論文) 17 int len = (buff)。 bool KeepConnect = true。 } set { currentSocket = value。 } //獲得連接客戶端的 IP地址,并轉(zhuǎn)換成一個(gè)字符串 private string getRemoteIPAddress() { return ((IPEndPoint)).()。 //保留當(dāng)前連接的狀態(tài): //closed connected closed private string state = closed。 namespace AppServer { public class Client { FrmServer server。 using 。 = !。 } } 當(dāng)服務(wù)使用完成后,點(diǎn)擊結(jié)束服務(wù)按鈕,停止對(duì)端口的監(jiān)聽(tīng),界面及部分代碼如下: 畢業(yè)設(shè)計(jì)(論文) 14 圖 53 服務(wù)器停止 服務(wù) 后界面圖 private void btnStop_Click(object sender, EventArgs e) { = false。 = !。 //顯示啟動(dòng)信息 += + 的服務(wù)已經(jīng)啟動(dòng) !正在監(jiān)聽(tīng)端口號(hào): + + \n。 IPAddress ipAdd = (ipAddress)。 ()。 } catch (Exception) { += 端口號(hào)必須為數(shù)字且范圍為 65535 + \r\n。 IPAddress strAddress = (strHostName).AddressList[0]。客戶端用戶不能再聊天; 服務(wù)器 IP: 默認(rèn)本機(jī) IP。功能的分布在于減少計(jì)算機(jī)系統(tǒng)的各種瓶頸問(wèn)題。所謂聊天室就是一個(gè)可以讓許多用戶同時(shí)互相通信的網(wǎng)上園地,個(gè)人用戶可以通過(guò)聊天室將自己融入整個(gè)集體中。是現(xiàn)行網(wǎng)絡(luò)最流行、最被廣泛應(yīng)用的通訊工具。 可行性分析內(nèi)容 ( 1)操作可行性, 聊天室是提供給網(wǎng)民一個(gè)交友與娛樂(lè)的場(chǎng)所,在聊天室里網(wǎng)民可選擇 自己 的聊天對(duì)象,與其進(jìn)行對(duì)話交流,是網(wǎng)民之間相互溝通、交流情 感的最佳方式之一。 ( 2)可行性研究的目的不是解決問(wèn)題,而是確定問(wèn)題是否值得去解。 XML 和 SOAP就像“膠水”一樣將各種 Web 服務(wù)組合在一起構(gòu)成各種應(yīng)用程序。例如,通過(guò)利用多個(gè)公司的 Web 服務(wù),一個(gè)單獨(dú)的應(yīng)用程序就能同時(shí)管理賬單支付、 畢業(yè)設(shè)計(jì)(論文) 6 稅金退還、貨款和投資。相反,公司可以購(gòu)買 Web服務(wù),從而將時(shí)間和精力放在產(chǎn)品開(kāi)發(fā)上。 .NET 體系結(jié)構(gòu)的一個(gè)主要組建是 Web 服務(wù),它是通過(guò) Inter 向客戶端開(kāi)放其他功能的應(yīng)用程序。 .NET 策略的一個(gè)主要方面是它與具體的語(yǔ)言或平臺(tái)無(wú)關(guān)。 services 允許應(yīng)用程序通過(guò) Inter 進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語(yǔ)言。 .NET平臺(tái)對(duì)早期的開(kāi)發(fā)平臺(tái)做了重大改進(jìn)。由于不需要在注冊(cè)表中注冊(cè),軟件的安裝也變得容易了,一般將運(yùn)行程序及庫(kù)文件拷貝到指定文件夾中就可以了 [11]。 更加安全: C語(yǔ)言不支持指針,一切對(duì)內(nèi)存的訪問(wèn)都必須通過(guò)對(duì)象的引用變量來(lái)實(shí)現(xiàn),只允許訪問(wèn)內(nèi)存中允許訪問(wèn)的部分,這就防止病毒程序使用非法指針訪問(wèn)私有成員,也避免指針的誤操作產(chǎn)生的錯(cuò)誤 [10]。不必像 C 和 C++語(yǔ)言,用語(yǔ)句在堆中建立的實(shí)例,必須用語(yǔ)句釋放實(shí)例占用的內(nèi)存空間。這種執(zhí)行方
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1