利用VB進(jìn)行服務(wù)器編程實(shí)例_第1頁
利用VB進(jìn)行服務(wù)器編程實(shí)例_第2頁
利用VB進(jìn)行服務(wù)器編程實(shí)例_第3頁
利用VB進(jìn)行服務(wù)器編程實(shí)例_第4頁
利用VB進(jìn)行服務(wù)器編程實(shí)例_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論