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

正文內(nèi)容

通信工程畢業(yè)設(shè)計(jì)_基于socket的即時(shí)通訊軟-資料下載頁(yè)

2024-12-03 16:55本頁(yè)面

【導(dǎo)讀】便、更實(shí)用的網(wǎng)絡(luò)通信軟件。現(xiàn)在,網(wǎng)絡(luò)上的在線服務(wù)系統(tǒng)多種多樣,它們已經(jīng)深深的。影響并改變了人們的聯(lián)系和交流方式,使得人們可以在千里之遙進(jìn)行即時(shí)性的通訊。去的種種陳舊的通訊方式,已經(jīng)不能滿足現(xiàn)代生活的需要。程度的提高了學(xué)習(xí)和工作效率。由于即時(shí)通訊軟件的外觀友好、使用非常方便,而且使?,F(xiàn)如今,很多的企業(yè)、機(jī)關(guān)、學(xué)校都紛紛建立起自己的局域網(wǎng)。于是我就想到做一。間即時(shí)性的聯(lián)絡(luò),這樣,不用上Inter,可以節(jié)省資源。在學(xué)校這個(gè)大環(huán)境里,這個(gè)。學(xué),與教師討論問(wèn)題,并能最大限度地利用現(xiàn)有的網(wǎng)絡(luò)資源,極大地提高工作效率。庫(kù)備份還原及數(shù)據(jù)庫(kù)的初始化等功能??蛻舳司哂械顷?,注冊(cè),修改個(gè)人信息,聊天等

  

【正文】 Then Text1 = 這一天沒(méi)有任何日志信息 Else Text1 = t Exit Sub 30: Close 1 Text1 = 這一天的日志信息不存在,或文件已丟失 End Sub Private Sub Command3_Click() On Error GoTo 30 Dim t, str As String c1 = False 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 22 Open amp。 \data\ amp。 amp。 amp。 .txt For Input As 1 Do Until EOF(1) Input 1, str t = t amp。 str DoEvents Loop Close 1 If t = Then Text1 = 這一天沒(méi) 有任何聊天信息 Else Text1 = t Exit Sub 30: Close 1 Text1 = 這一天的聊天信息不存在,或文件已丟失 End Sub 在選擇日期的界面點(diǎn)擊任意的一天,會(huì)在 顯示選中的日期。 相關(guān)代碼如下: Public Sub ProcMsg(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long, Result As Long) Dim hdrX As NMHDR On Error Resume Next Select Case uMsg Case WM_NOTIFY CopyMemory hdrX, ByVal lParam, Len(hdrX) If = Or = DTN_DATETIMECHANGE Then Label1 = Format(, yyyymmdd) End If End Select End Sub 查看記錄的界面如圖 : 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 23 圖 查看記錄的界面圖 更改管理員密碼 服務(wù)器端登陸需要身份確認(rèn)才能登陸,帳號(hào)和密碼可以自定義,以免其他人盜用管理員身份。 密碼驗(yàn)證時(shí)用到的部分代碼: na = GetSetting(即時(shí)通訊軟件服務(wù)器 , server, name) pw = GetSetting(即時(shí)通訊軟件服務(wù)器 , server, password) 改新密碼時(shí)用到的部分代碼: SaveSetting 即時(shí)通訊軟件服務(wù)器 , server, name, Text3 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 24 SaveSetting 即時(shí)通訊軟件服務(wù)器 , server, password, Text4 管理員帳號(hào)和密碼都存在本機(jī)注冊(cè)表,初始賬戶和密碼都為空。 鍵值位置: HKEY_CURRENT_USER\Software\VB and VBA Program Settings\即時(shí)通訊軟件服務(wù)器\server 更改密碼的界面見(jiàn)圖 : 圖 更改密碼的界面圖 發(fā)布通知 發(fā)布通告是在菜單欄的工具里,點(diǎn)擊即可發(fā)布你所輸入的信息。通知的內(nèi)容存放在tongz = GetSetting(即時(shí)通訊軟件服務(wù)器 , tongz, tongz),其中 tongz 鍵值位置在 HKEY_CURRENT_USER\Software\VB and VBA Program Settings\即時(shí)通訊軟件服務(wù)器 \server。 關(guān)鍵核心代碼介紹: Dim I As Integer tongz = InputBox(vbCrLf amp。 vbCrLf amp。 你要通知什么事情 ?, 通知 , tongz) If Trim(tongz) = Then tongz = 歡迎你 使用本軟件。 SaveSetting 即時(shí)通訊軟件服務(wù)器 , tongz, tongz, tongz For I = 1 To maxconnext If Winsock1(I).State = sckConnected Then Winsock1(I).SendData 12| amp。 tongz 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 25 End If DoEvents Next = Len(Text2) = Date amp。 amp。 Time amp。 通知大家 : amp。 tongz amp。 vbCrLf 發(fā)布通知的 界面圖如圖 : 圖 發(fā)放通知界面圖 客戶界面 客戶機(jī)用 Winsock 控件發(fā)出信息,服務(wù)器端通過(guò)信息頭的標(biāo)識(shí)分辨客戶端的要求,比如登陸、注冊(cè)、注銷(xiāo)、發(fā)送信息,另外客戶端還有標(biāo)簽欄接收服務(wù)器發(fā)來(lái)的系統(tǒng)通告。 標(biāo)簽欄接收并顯示服務(wù)器發(fā)來(lái)的通告信息。右邊列表顯示在線名單,雙擊列表可以顯示個(gè)人資料,由群聊轉(zhuǎn)為私聊后,可以選擇選定的目標(biāo)進(jìn)行一對(duì)一的悄悄話。 關(guān)鍵代碼如下: Private Sub List1_DblClick() If sckConnected Then MsgBox 你還沒(méi)有登陸 !, vbOKOnly + 64, 提示 ein_Click Exit Sub Else formactive = False = Left(Right(, 7), 6) 04| amp。 Left(Right(, 7), 6) = True (1) = False (2) = False 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 26 = False End If End Sub Private Sub Option1_Click() 39。ql If = True Then = False = 0 End If End Sub Private Sub Option2_Click() 39。sl If = True Then = True End If End Sub Private Sub sendmsg_click() If sckConnected Then MsgBox 你還沒(méi)登陸 !, vbOKOnly + 64, 提示 ein_Click Exit Sub End If If Then 03| amp。 Text2 Text2 = Else If = 無(wú) Or Left(Right(, 7), 6) = id Or = Then = 0: MsgBox 私聊對(duì)象錯(cuò)誤 , vbOKOnly + 64, 提示 : Exit Sub 07| amp。 Mid(( 1), 1, 3) amp。 | amp。 Text2 Text2 = End If 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 27 End Sub Private Sub geren_Click() formactive = False = id If sckConnected Then (0) = False (2) = False = 1 Else 04| amp。 id = True End If End Sub 客戶端主界面見(jiàn)圖 615: 圖 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 28 其中菜單中的文件里,分別有登陸、注冊(cè)和注銷(xiāo)功能,這些功能的相關(guān) 代碼如下: Private Sub ein_Click() formactive = False End Sub Private Sub zhuche_Click() = 1 formactive = False End Sub Private Sub zhuxiao_Click() = True = False = True closeflag = False = Len(Text1) = 【系統(tǒng)消息】你已經(jīng)注銷(xiāo)了 amp。 vbCrLf Form_Load End Sub 點(diǎn)擊登陸后會(huì)顯示以下登陸窗口,用戶 ID 六位數(shù)后自動(dòng)轉(zhuǎn)到密碼欄,回車(chē)即完成登陸操作。 登陸窗口如圖 : 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 29 圖 注冊(cè)窗口和個(gè)人信息窗口也顯示在下面了,通過(guò)注冊(cè)界面可以自定義個(gè)人信息,完成注冊(cè)并且用自己隨機(jī)獲取的 ID 號(hào)進(jìn)行登陸,登陸后可以通過(guò)雙擊在線名單的某一行,查看對(duì)應(yīng)的人員信息。 注冊(cè)窗口和個(gè)人信息窗口的界面如圖 617 和圖 618: 圖 注冊(cè)窗口 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 30 圖 底層通訊設(shè)計(jì) 服務(wù)器端: 為了使能及時(shí)響應(yīng)多個(gè)用戶 的請(qǐng)求,我對(duì) winsock 控件添加了數(shù)組,也就是說(shuō),在連接上一個(gè)用戶后,自動(dòng)增加一個(gè) winsock 控件進(jìn)行偵聽(tīng)。發(fā)送數(shù)據(jù)使用的是多個(gè)端口,設(shè)置數(shù)組控件會(huì)使程序具有很大的靈活性,發(fā)送端口會(huì)自動(dòng)定義,而且不重復(fù)使用同一端口,所以端口是多少都無(wú)所謂,這不是我們需要關(guān)心的,在某用戶斷開(kāi)連接時(shí)候,空閑的 winsock 還可以接收新的用戶。 Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long) On Error Resume Next Dim I As Long If Index = 0 Then 39。主 Winsock—— Winsock(0)發(fā)生消息 I = 1 While I = maxconnext And nowconnext(I) 39。在以前的 Winsock 中找到空閑的Winsock I = I + 1 DoEvents Wend If I = maxconnext Then 39。在當(dāng)前裝載的 Socket 中發(fā)現(xiàn)有用戶已經(jīng)離開(kāi) Winsock1(I).LocalPort = 0 39。使用現(xiàn)成的 Socket Winsock1(I).Accept requestID 39。接收 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 31 nowconnext(I) = True 39。Winsock( i)被占用 Else 39。在當(dāng)前裝載的 Socket 中沒(méi)發(fā)現(xiàn)有用戶離開(kāi) maxconnext = maxconnext + 1 39。當(dāng)前接收端口增加 Load Winsock1(maxconnext) 39。生成新的 Winsock Winsock1(maxconnext).LocalPort = 0 Winsock1(maxconnext).Accept requestID 39。接收 ReDim Preserve nowconnext(maxconnext + 1) nowconnext(maxconnext) = True End If End If End Sub 因?yàn)榭蛻舳税l(fā)送的每一個(gè)請(qǐng)求,都有個(gè)頭命令,服務(wù)器端根據(jù)這個(gè)頭命令來(lái)分辨客戶端的請(qǐng)求類(lèi)型。對(duì)于每一個(gè)信息都要有對(duì)應(yīng)的 信息反饋回去。 客戶端: 發(fā)送連接,是靠服務(wù)器回復(fù)的標(biāo)志變量,來(lái)判別連接狀態(tài)的。發(fā)送一個(gè)數(shù)據(jù),等待響應(yīng)信息的回來(lái),客戶端是通過(guò)服務(wù)器回復(fù)信息的頭命令,判定消息類(lèi)型。 服務(wù)器可以把系統(tǒng)管理員發(fā)的消息及其它客戶登錄、退出、對(duì)話的信息分別傳遞給傳給客戶端。為了能正確接收并區(qū)分這些信息 ,系統(tǒng)采用了信息前加不同的首字符的方法 ,也就是前文所說(shuō)的頭命令, 從而有效地解決了客戶端的接收問(wèn)題。 代碼結(jié)構(gòu)如下 : Private Sub WskclientDataArrival(ByVal bytesTotal AsLong) ’消息到達(dá)時(shí)接收 Dim ClientData As String Dim tou As Integer 39。頭命令 ClientData, vbString tou = Val(Left(ClientData, 2)) Select Case tou Case 1 ’代碼省略 Case 2 ’代碼省略 ?? End Select 長(zhǎng)沙學(xué)院 畢業(yè)設(shè)計(jì) (論文 ) 32 End Sub 服務(wù)器和客戶端之間的連接: 其中 winsock 控件需要正確設(shè)置服務(wù)器的 IP 地址 (這里仍假設(shè)為本機(jī) ) ,設(shè)置服務(wù)器端口為客戶端中所 要求的遠(yuǎn)程端口號(hào) , 這樣才能保證通訊。 服務(wù)器代碼如下 : Winsock1(0).LocalPort
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1