版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1/14dSockServer.Listen′開始偵聽SubPrivateSubForm_Unload(CancelAsInteger)CloseSubPrivateSubSockServer_Close()CloseSubPrivateSubSockServer_ConnectionRequest(ByValrequestIDAsLong)CloseSubPrivateSubSockServerDataArrival(ByValbytesTotalAsLong)DimsAsStringSockServer.GetDatasText1.Text=sSubPrivateSubCommand1_Click()ServerSendDataTextTextSub2/14gerLongTextTextste-------------------------------------------------------------------------LocalHostName名3/14ost----------------------------------------------------------------------------------------------------------------------------------------------------Accepta----------------------------------------------------------------------------Close機(jī)器關(guān)閉連接時(shí)觸發(fā)Connect可以進(jìn)行通信時(shí)觸發(fā)(客戶端)ConnectRequest達(dá)時(shí)產(chǎn)生(服務(wù)器端)DataArrival有數(shù)據(jù)到達(dá)時(shí)觸發(fā)Error錯(cuò)誤時(shí)發(fā)生ndProgress-----------------------------------------------------------------------------(1)服務(wù)器程序必須設(shè)置好LocalPort屬性,作為偵聽端口,該值為一個(gè)整數(shù)(只要(2)使用Listen方法進(jìn)入偵聽狀態(tài),等待客戶機(jī)程序的連接請求。 (3)客戶機(jī)程序發(fā)出連接請求,使服務(wù)器程序產(chǎn)生ConnectionRequest事件,該事件4/14(3)使用Connect方法,向服務(wù)器提出連接請求。epenningnectionPendingolvingHoststResolvednectingctedSckClosing在關(guān)閉連接rror擊“連接”按鈕。如果連接成功,則服務(wù)器和客戶機(jī)程序窗口都會(huì)出現(xiàn)兩個(gè)文本框。這時(shí),兩端都可以在上面的文本框中輸入文字,這些文字會(huì)立即在下面的文本框中出現(xiàn)。服務(wù)器程序使用的控件如下:(1)Command1:退出按鈕;(2)textsend:發(fā)送數(shù)據(jù)文本框;k(4)textget:接收數(shù)據(jù)文本框。圖所示。服務(wù)器程序的源代碼如下:PrivateSubCommand1_Click()5/14ongLongg(1)Command1:退出按鈕;(2)Command2:連接按鈕;(3)Winsockclient:客戶Winsock;(4)Text1:主機(jī)名文本框;(5)Textsend:發(fā)送數(shù)據(jù)文本框;(6)Textget:接收數(shù)據(jù)文本框;6/14tLongg1引言TCP、面向會(huì)話連接的數(shù)據(jù)流服務(wù),它可以7/14P重要的特點(diǎn)地面設(shè)計(jì)能力,而且在網(wǎng)絡(luò)通信方面的功能也很強(qiáng)。采用VB開發(fā)網(wǎng)絡(luò)通信應(yīng)用軟件十使編程人員開發(fā)客戶/服務(wù)器應(yīng)用程序時(shí),不必了解TCP的細(xì)節(jié)或調(diào)用低級的scVisualC++或VisualFoxPro都可用其編寫客戶服務(wù)器程序。8/14sckListen.務(wù)器程序開始偵聽網(wǎng)絡(luò)前,需要為偵聽用(sckListen)控件的LocalPort屬性設(shè)置通nLocalPortsckListenListenIPsckClient.RemoteHost="127.0.0.1""129.200.0.1"置遠(yuǎn)程主機(jī)服務(wù)器程序的接口號一致lientRemotePortect序的偵聽控件(sckListen)觸發(fā)ConnectionRequest事件,并傳遞連接請求句柄。9/14AcceptrequestIDkiCurNumber=CurNumber+1sckServer(i).AcceptrequestIDb/14DataSendStrdexClosesckserver.LocalPort=44774.2客戶程序發(fā)送數(shù)據(jù)taSendStrvb映射已知服務(wù)器的方法VB設(shè)定/取消網(wǎng)絡(luò)磁盤FunctionAddConnection(ByValRemoteLocationAsString,_AsString,_ingString)AsBooleanByValLocalDriverByValPasswdAsByValUserNameAsUserName:存取網(wǎng)絡(luò)磁盤的使用者代號CallAddConnection("\\Shih\cmias","x:",vbNullString,/14AsBoolean)AsBooleanAsString,_ByValForceCloseverloseCallCancelConnection("x:",True)nExplicitETRESOURCEsLongongayTypeAsLongsLongTypeDeclareFunctionWNetAddConnection2Lib"mpr.dll"Alias"WNetAddConnection2A"(lpNetResourceAsNETRESOURCE,ByVallpPasswordAsString,ByVallpUserNameAsString,ByValDeclareFunctionWNetCancelConnection2Lib"mpr.dll"Alias"WNetCancelConnection2A"(ByVallpNameAsString,ByValdwFlagsAsLong,ByValfForceAsLong)AsLongDeclareFunctionWNetGetLastErrorLib"mpr.dll"Alias"WNetGetLastErrorA"(lpErrorAsLong,ByVallpErrorBufAs/14nErrorBufSizeAsLong,ByVallpNameBufAsnNameBufSizeAsLong)AsLongPublicConstRESOURCE_PUBLICNET=&H2RESOURCETYPE_ANY=&H0RESOURCEDISPLAYTYPE_GENERIC=&H0RESOURCEUSAGE_CONNECTABLE=&H1CONNECT_UPDATE_PROFILE=&H1FunctionAddConnection(ByValRemoteLocationAsString,ByValLocalDriverAsString,_ByValPasswdAsString,ByValUserNameAsString)AsBooleanDimneAsNETRESOURCE,iAsLongDimerrstrAsString,errprivAsString,ernoAsLongne.dwDisplayType=RESOURCEDISPLAYTYPE_GENERICne.dwScope=RESOURCE_PUBLICNETne.dwType=RESOURCETYPE_ANYne.dwUsage=RESOURCEUSAGE_CONNECTABLEne.lpComment=vbNullStringne.lpLocalName=LocalDriverne.lpProvider=vbNullStringne.lpRemoteName=RemoteLocationi=WNetAddConnection2(ne,Passwd,UserName,0)Ifi=0ThenAddConnection=TrueElseAddConnection=Falseerrstr=String(256,0)errpriv=String(256,0)i=WNetGetLastError(erno,errstr,256,errpriv,256)errstr=Left(errstr,InStr(1,errstr,Chr(0))-1)MsgBoxerrstr,vbCriticalEndIf/14PublicFunctionCancelConnection(ByValLocalDriverAsString,ByValForceCloseAsBoolean)AsBooleanDimiAsLongDimerrstrAsString,errprivAsString,ernoAsLongi=WNetCancelConnection2(LocalDriver,0,IIf(ForceClose,1,0))Ifi=0ThenCancelConnection=TrueElseCancelConnection=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年砌塊運(yùn)輸合同與施工進(jìn)度跟蹤服務(wù)協(xié)議3篇
- 2024年翡翠手鐲代購協(xié)議書2篇
- 2024年福州二手住宅買賣協(xié)議5篇
- 痙攣?zhàn)o(hù)理工作總結(jié)
- 印度行業(yè)營業(yè)員工作總結(jié)
- 2024年校園小型維修工程合同樣本3篇
- 禮儀慶典助理工作總結(jié)
- 家庭病床護(hù)理工作總結(jié)
- 2024年電子商品買賣與技術(shù)支持合同2篇帶眉腳
- 2024年商業(yè)連鎖店委托經(jīng)營管理服務(wù)協(xié)議3篇
- GB/T 44890-2024行政許可工作規(guī)范
- 軍工合作合同范例
- 2025年中國稀土集團(tuán)總部部分崗位社會(huì)公開招聘管理單位筆試遴選500模擬題附帶答案詳解
- 超市柜臺(tái)長期出租合同范例
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測試語文試題(含答案)
- 【8物(科)期末】合肥市第四十五中學(xué)2023-2024學(xué)年八年級上學(xué)期期末物理試題
- 統(tǒng)編版2024-2025學(xué)年三年級語文上冊期末學(xué)業(yè)質(zhì)量監(jiān)測試卷(含答案)
- 從0 開始運(yùn)營抖?音號sop 文檔
- Module7 Unit2 This little girl can't walk(Period 1) (教學(xué)實(shí)錄) -2024-2025學(xué)年外研版(三起)英語五年級上冊
- 2024年01月11190當(dāng)代中國政治制度期末試題答案
- 2024-2025學(xué)年深圳市初三適應(yīng)性考試模擬試卷歷史試卷
評論
0/150
提交評論