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

正文內容

基于socket的即時通訊軟畢業(yè)設計40論文41-資料下載頁

2024-11-23 16:04本頁面

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

  

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