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

正文內(nèi)容

基于net局域網(wǎng)聊天工具設(shè)計畢業(yè)論文-文庫吧資料

2025-03-06 10:03本頁面
  

【正文】 ()。 } ()。 = (int)dataReader[FriendId]。 SqlDataReader dataReader = ()。 try { SqlCommand mand = new SqlCommand(sql, )。 bool error = false。 = ({0}({1}), nickName, ())。 } else { = ()。 } if (error) { (服務(wù)器請求失?。≌堉匦碌卿?! , 意外錯誤 , , )。 ()。 } ()。 if (()) { if (!(dataReader[NickName] is DBNull)) { nickName = (dataReader[NickName])。 ()。 string sql = ( SELECT NickName, FaceId FROM Users WHERE Id={0}, )。 int faceId = 0。 ()。 if (result == ) { ()。 } else { (添加失敗,請稍候再試! , 提示 , , )。 ()。 } finally { ()。 result = ()。 try { SqlCommand mand = new SqlCommand(sql, )。 } } } } private void tsmiAddFriend_Click(object sender, EventArgs e) { int result = 0。 } } else { (好友已刪除 , 提示 , , )。 } if (deleteResult == 1) { ( 好友已刪除 , 提示 , , )。 } catch (Exception ex) { ()。 ()。 if (result == ) { if ( == [0]) { string sql = ( DELETE FROM Friends WHERE HostId={0} AND FriendId={1}, , ())。 int deleteResult = 0。 = 顯示小頭像 。 = 顯示大頭像 。 } else { = false。amp。 } else { = true。 } ()。 j++) { if (([i].Items[j].Tag) == ) { if ([i].Items[j].ImageIndex 100) { [i].Items[j].ImageIndex= 100。 i++) { for (int j = 0。 } private void tmrChatRequest_Tick(object sender, EventArgs e) { for (int i = 0。 RequestForm requestForm = new RequestForm()。 messageImageIndex = 0。 = [messageImageIndex]。 ()。 } SoundPlayer player = new SoundPlayer()。 } finally { ()。 = (())。 try { mand = new SqlCommand(sql, )。amp。 ()。 messageState == 0) { SoundPlayer player = new SoundPlayer()。 } if (messageTypeId == 2 amp。 } catch (Exception ex) { ()。 messageState = (int)dataReader[MessageState]。 if (()) { = (int)dataReader[FromUserId]。 ()。 SqlCommand mand。 int messageState = 1。 } private void tmrMessage_Tick(object sender, EventArgs e) { ShowFriendList()。 ()。 = 。 } ChatForm chatForm = new ChatForm()。 } private void sbFriends_ItemDoubleClick(SbItemEventArgs e) { if ( == true) { ()。 } private void tsbtnSearchFriend_Click(object sender, EventArgs e) { SearchFriendForm searchFriendForm = new SearchFriendForm()。 = this。 } private void MainForm_FormClosed(object sender, FormClosedEventArgs e) { ()。 (陌生人 )。 ShowSelfInfo()。 public MainForm() { InitializeComponent()。 int friendFaceId。 using 。 using 。 using 。 using 。 using 。 當(dāng)互相連接的兩個用戶之間,任意一方在退出的時候,需要向?qū)Ψ桨l(fā)送“斷開”信號,并隨后關(guān)閉其自身的網(wǎng)絡(luò)流,而對方在接收到“斷開”信號的時候,有個處理過程,但是流卻已經(jīng)關(guān)閉了,所以產(chǎn)生流異常,“本地主機嘗試讀取一個不存在的流”,通過修改,對網(wǎng)絡(luò)流使用 try{} catch{} 操作后,問題解決。解決的辦法就是在斷開連接的時候,向?qū)Ψ桨l(fā)送 “ 斷開 ” 信號,對方接收到斷開信號后,將其自身的 Socket 釋放掉。 通過對這個問題的解決,掌握了 C中的使用多線程時,線程的創(chuàng)建、相互協(xié)調(diào)和銷毀等技術(shù)。 多線程問題 通過查閱資料,掌握了 C中在 winform 關(guān)閉時需要進行的操作: 接收線程需要關(guān)閉; 監(jiān)聽需要關(guān)閉; Socket 需要關(guān)閉; 網(wǎng)絡(luò)流需要關(guān)閉; 如果 是傳文件的話還需要關(guān)閉流文件。 容錯性測試是檢查軟件在異常條件下的行為。 此時就在客戶端與服務(wù)器上進行功能性測試。 先在其中一臺 機器 A 上啟動服務(wù)端軟件,開啟監(jiān)聽服務(wù)。通過在總集成后的程序的各個流程中添加消息提示框顯示程序內(nèi)部數(shù)據(jù)、對象的狀態(tài),并插入斷點進行單步跟蹤發(fā)現(xiàn)各模塊工作 正常,數(shù)據(jù)也未發(fā)生異?,F(xiàn)象。 整個開發(fā)過程中 ,共歷經(jīng)多次相互斷開、連接測試, P2P文本聊天模塊終于可以正常運行。 在集成 P2P文本聊天程序退出時,常常發(fā)生錯誤,異常退出,造成表面上看程序已結(jié)束,但卻仍然駐留在內(nèi)存中的現(xiàn)象。 白盒測試 正確性測試檢查軟件的功能是否符合規(guī)格說明。若接收端拒絕接受文件,則取消本次文件發(fā)送,等待用戶的下一次文件發(fā)送事件。 文本傳輸界面請具體參考參考 圖 23。若拒絕接收,則向發(fā)送端返回拒絕信號,繼續(xù)執(zhí)行監(jiān)聽線程,等待下一次的文件 傳入請求。當(dāng)接收到客戶發(fā)起的文件傳入請求后,彈出消息提示,提示用戶對請求進行處理,同意或者拒絕接收。若已建立連接,當(dāng)斷開連接時,將向?qū)Ψ桨l(fā)送斷開信號,然后將釋放 Socket 和網(wǎng)絡(luò)流,不影響到下一次連接的發(fā)起。若服務(wù)器端同意連接請求,接收到服務(wù)器的同意連接信號后,開啟接收信息線程,并置消息發(fā)送事件為 Enable,通信雙方就可以進行文本聊天了。文本聊天服務(wù)器工作流程如圖 51 所示。客戶端得知服務(wù)器端關(guān)閉 tcpconnect 并關(guān)閉網(wǎng)絡(luò)流之后,則釋放本次
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1