版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p><b> 計算機系統(tǒng)設計</b></p><p> 利用VB6 Winsock空間創(chuàng)建TCP—IP客戶機—服務器程序</p><p> 功能描述:利用Winsock編寫基于TCP/IP的客戶機----服務器程序,實現(xiàn)網(wǎng)絡的通信。</p><p> 服務器程序?qū)崿F(xiàn)的過程:</p><p> 服務
2、器程序必須設置好LOCAPORT屬性,作為偵聽端口,該值為一個整數(shù)。</p><p> 使用LISTEN方法進入偵聽狀態(tài),等待客戶機程序的連接請求。</p><p> 客戶機程序發(fā)出連接請求,使服務器程序產(chǎn)生CONNECTIONREQUEST事件,該事件得到一個參數(shù)REQUESTID。</p><p> 服務器程序用ACCEPT方法接受客戶機程序的REQUES
3、TID請求。這樣服務器程序就可以用SENDDATA方法發(fā)送數(shù)據(jù)了。ACCEPT方法必須用上一步得到的REQUESTID作為其參數(shù)。</p><p> 當服務器程序接收到數(shù)據(jù)時,產(chǎn)生DATAARRIVAL事件,參數(shù)BYTESTOTAL包含接收到是數(shù)據(jù)字節(jié)數(shù)。在該事件中,可以用GETDATA事件方法接收數(shù)據(jù)。</p><p> 如果接收到CLOSE事件,則用CLOSE方法關(guān)閉TCP/IP連
4、接。</p><p> 客戶機程序的實現(xiàn)過程:</p><p> 客戶機程序設置REMOTEHOST屬性,以便指定運行服務器程序的主機名,該字符串可在“控制面版|網(wǎng)絡|標識|計算機名”中查到。</p><p> 設置REMOTEPORT屬性,以便指定服務器程序的偵聽端口。</p><p> 使用CONNECT方法,向服務器提出連接請求
5、。</p><p> 服務器接受客戶機程序的請求,客戶機程序產(chǎn)生CONNECT事件,就可以用SENDDATA方法發(fā)送數(shù)據(jù)了。</p><p> 當客戶機程序接收到數(shù)據(jù)時,產(chǎn)生DATAARRIVAL事件,參數(shù)BYTESTOAL包含接收到的數(shù)據(jù)字節(jié)數(shù)。在該事件中,可以用GETDATA方法接收數(shù)據(jù)。</p><p> 如果接收到CLOSE事件,則用CLOSE方法關(guān)閉
6、連接。</p><p><b> 服務端程序及圖解:</b></p><p> SERVER端界面圖:</p><p> * Command2---聊天記錄 Command3---發(fā)送 Command4---退出</p><p><b> 程序:</b></p>&
7、lt;p> Public IsLong As Boolean</p><p> --------------------------------------------------------------</p><p> Private Sub Command2_Click()</p><p> If IsLong = False Then</
8、p><p> Form1.Height = 6990</p><p> IsLong = True</p><p><b> Else</b></p><p> Form1.Height = 2900</p><p> IsLong = False</p><p>&
9、lt;b> End If</b></p><p><b> End Sub</b></p><p> ---------------------------------------------------------------</p><p> Private Sub Command3_Click()</p&g
10、t;<p> Dim sendtext As String</p><p> sendtext = Text2.Text</p><p> Winsocks.SendData sendtext</p><p> Dim str As String</p><p> str = (Now) & " &q
11、uot; & Winsocks.LocalHostName & ":" & (vbNewLine)</p><p> Text3.Text = Text3.Text + str + sendtext + (vbNewLine)</p><p><b> End Sub</b></p><p>
12、---------------------------------------------------------------</p><p> Private Sub Command4_Click()</p><p> If MsgBox("您真的要退出嗎???", vbYesNo, "警告!") = vbYes Then</p>
13、<p><b> End</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> ---------------------------------------------------------------<
14、/p><p> Private Sub Form_Load()</p><p> Winsocks.LocalPort = 1000</p><p> Winsocks.Listen</p><p> Text2.Visible = False</p><p> Text3.Visible = False<
15、/p><p> Form1.Height = 3000</p><p><b> End Sub</b></p><p> ---------------------------------------------------------------</p><p> Private Sub Text2_Change
16、()</p><p><b> End Sub</b></p><p> ---------------------------------------------------------------</p><p> Private Sub Text3_Change()</p><p><b> En
17、d Sub</b></p><p> ---------------------------------------------------------------</p><p> Private Sub Winsocks_ConnectionRequest(ByVal requestID As Long)</p><p> If Winsock
18、s.State <> sckClosed Then Winsocks.Close</p><p> Winsocks.Accept (requestID)</p><p> Text2.Visible = True</p><p> Text3.Visible = True</p><p><b> End Su
19、b</b></p><p> ---------------------------------------------------------------</p><p> Private Sub Winsocks_DataArrival(ByVal bytesTotal As Long)</p><p> Dim gettext As Stri
20、ng</p><p> Winsocks.GetData gettext</p><p> Dim str As String</p><p> str = (Now) & " " & Winsocks.RemoteHost & ":" & (vbNewLine)</p>&
21、lt;p> Text3.Text = Text3.Text + str + gettext + (vbNewLine)</p><p><b> End Sub</b></p><p><b> 退出程序端界面圖:</b></p><p> * Command1---連接 Command2---聊天記錄
22、 Command3---發(fā)送 Command4---退出</p><p><b> 程序:</b></p><p> Public IsLong As Boolean</p><p> ---------------------------------------------------------</p><p
23、> Private Sub Command1_Click()</p><p> WinsockC.Connect</p><p><b> End Sub</b></p><p> ---------------------------------------------------------</p><p&
24、gt; Private Sub Command2_Click()</p><p> If IsLong = False Then</p><p> Form1.Height = 7590</p><p> IsLong = True</p><p><b> Else</b></p><p&
25、gt; Form1.Height = 3550</p><p> IsLong = False</p><p><b> End If</b></p><p><b> End Sub</b></p><p> ---------------------------------------
26、------------------</p><p> Private Sub Command3_Click()</p><p> Dim sendtext As String</p><p> sendtext = Text2.Text</p><p> WinsockC.SendData sendtext</p>&
27、lt;p> Dim str As String</p><p> str = (Now) & " " & WinsockC.LocalHostName & ":" & (vbNewLine)</p><p> Text3.Text = Text3.Text + str + sendtext + (vbNew
28、Line)</p><p><b> End Sub</b></p><p> ---------------------------------------------------------</p><p> Private Sub Command4_Click()</p><p> If MsgBox(&q
29、uot;您真的要退出嗎???", vbYesNo, "警告!") = vbYes Then</p><p><b> End</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p&g
30、t; ---------------------------------------------------------</p><p> Private Sub Form_Load()</p><p> WinsockC.RemotePort = 1000</p><p> Text3.Visible = False</p><p>
31、; Text2.Visible = False</p><p> IsLong = False</p><p> Form1.Height = 3550</p><p><b> End Sub</b></p><p> ---------------------------------------------
32、------------</p><p> Private Sub Text1_Change()</p><p> WinsockC.RemoteHost = Text1.Text</p><p><b> End Sub</b></p><p> --------------------------------
33、-------------------------</p><p> Private Sub WinsockC_Connect()</p><p> MsgBox ("和服務器已經(jīng)連接成功!")</p><p> Text3.Visible = True</p><p> Text2.Visible = True&
34、lt;/p><p><b> End Sub</b></p><p> ---------------------------------------------------------</p><p> Private Sub WinsockC_DataArrival(ByVal bytesTotal As Long)</p>
35、<p> Dim gettext As String</p><p> WinsockC.GetData gettext</p><p> Dim str As String</p><p> str = (Now) & " " & WinsockC.RemoteHost & ":"
36、 & (vbNewLine)</p><p> Text3.Text = Text3.Text + str + gettext + (vbNewLine)</p><p><b> End Sub</b></p><p> ------------------------------------------------------
37、---</p><p> Private Sub WinsockC_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Bool
38、ean)</p><p> MsgBox ("服務器沒有響應!被迫退出程序")</p><p><b> End</b></p><p><b> End Sub</b></p><p><b> 連接服務器:</b></p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- tcp_ip課程設計---基于套接字的客戶機服務器程序設計
- 計算機系統(tǒng)綜合課程設計
- 發(fā)現(xiàn)服務器已開啟的tcp服務計算機網(wǎng)絡課程設計
- 課程設計--微型計算機系統(tǒng)設計
- 計算機系統(tǒng)綜合課程設計doc
- wincc客戶機服務器結(jié)構(gòu)
- 嵌入式課程設計--linux tcp服務器_客戶端通信程序
- 計算機網(wǎng)絡課程設計--dns服務器搭建
- 計算機網(wǎng)絡課程設計--dns服務器配置
- 計算機組成原理課程設計---簡單計算機系統(tǒng)設計與實現(xiàn)
- 計算機組成原理課程設計---簡單計算機系統(tǒng)設計與實現(xiàn)
- 計算機組成原理課程設計--簡單計算機系統(tǒng)設計與實現(xiàn)
- 計算機系統(tǒng)算法設計與分析報告課程設計
- 課程設計-基于微程序控制器的簡單計算機系統(tǒng)設計與實現(xiàn)
- 計算機系統(tǒng)綜合課程設計2ppt
- 計算機系統(tǒng)綜合課程設計報告模版doc
- 計算機網(wǎng)絡課程設計--簡單ftp服務器實現(xiàn)
- 計算機系統(tǒng)結(jié)構(gòu)課程設計---簡單16位cpu設計
- 基于客戶-服務器模型的計算機協(xié)同設計.pdf
- 發(fā)現(xiàn)服務器已開啟的tcp服務課程設計
評論
0/150
提交評論