大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> VB5.0环境下Internet应用程序的开发

VB5.0环境下Internet应用程序的开发

时间: 2021-07-31 作者:daque

   internet有宏大的通讯功效,如文献传递、长途登录、e-mail、internet phone和internet fax等,它使保守的邮电通信财产爆发了宏大变革。同声,它是一个巨型消息资源库,所含消息不只应有尽有,并且蒸蒸日上。更加是www(world wide web)的展示使寰球消息联成一体,并使千家万户不妨随时共享这一生人宏大的资源。www的大范围兴发源于贸易运用的普遍和用户界面和睦,越来越多的公司企业运用www网页动作商品促进销售或对存户效劳的本领。不难想像,对于任何一位软硬件开拓喜好者来说,进修开拓internet运用步调仍旧是一件当务之急的工作了。妇孺皆知,运用microsoft visual basic 5.0巩固的internet功效使咱们不妨在很短的功夫内开拓出适用的internet搜集运用步调,正文拟向读者群引见的即是相关这上面的实质。    visual basic是microsoft公司面向windows步调员的rad(rapid application development)东西,它的第一次全国代表大会特性即是湮没了很多纷纷而令人厌烦的windows编制程序详细,而使开拓职员将中心放在运用步调的功效上。当人们谈及internet 运用步调的功夫,因为典型太多,很难精确它们简直指的是什么,所以采用东西之前先领会所须要的运用步调典型是很要害的。visual basic为internet的百般开拓处事都供给了特意的本领,下表对internet的百般用处举行了分门别类,并陈列了实行各类工作所需的相映的visual basic东西。        表1.    internet工作 visual basic东西    计划机间的径直通讯 winsock控件(mswinsck.ocx)    文献传输 internet transfer控件(msinet.ocx)    web欣赏 webbrowser控件(shdocvw.dll)    在microsoft internet explorer中运转的运用步调的开拓 activex文书档案    运用 internet安置步调颁布运用步调 setup wizard    用来超文本标志谈话页面包车型的士组件开拓 activex控件    数据库运用步调 activex文书档案     具备数据控件或运用adodb东西的asp     从效劳器到存户机的工作/数据传输asp        另一上面,跟着www本领蒸蒸日上的兴盛,运用www本领结构企业里面网即intranet,仍旧变成人们的一种共鸣,以至intranet运用步调的数目很大概仍旧胜过了internet运用步调,而正文刻画的每项internet工作同样也都实用于intranet运用步调。    以次将经过范例辨别报告运用visual basic 5.0实行以次工作:①tcp(udp)/ip编制程序;②创造internet explorer中运转的运用步调;③创造ftp欣赏器。        二.tcp(udp)/ip编制程序本领    tcp/ip和议是一种规范的企业搜集和议,它也是internet网最要害的搜集互联和议,microsoft visual basic 5.0的winsock控件供给用来internet的传输遏制和议(tcp)和用户数据包搜集和议(udp)的底层考察,所以不妨简单地用来创造通话运用步调,实行两台或多台湾同胞联谊会网计划机间的径直数据传输。底下引见运用winsock控件举行tcp/ip编制程序的重要办法。    2.1 决定运用步调典型    运用tcp和议的运用步调,开始必需决定它是效劳器端的仍旧存户端的。即使要创造一个效劳器端的,就必应知道效劳器计划机名大概ip地方(remotehost属性),还要领会举行“侦听”的端口(remoteport属性),而后挪用connect本领。即使创造存户端运用步调,就应树立一个收听端口(localport属性)并挪用listen本领。当存户计划机须要贯穿时就会爆发connectionrequest事变。为了实行贯穿,可挪用connectionrequest事变内的accept本领。创造贯穿后,任何一方计划机都不妨收发数据。为了发送数据,需挪用senddata本领。当接受数据时会爆发dataarrival事变。挪用dataarrival事变内的getdata本领就可获得数据。    2.2 创造一个tcp效劳器(socket效劳器)    1)创造新名目。    在file菜单中单击new project,翻开new project对话框,而后双击standard exe图标,即创造一个新名目,并加入开拓情况。    2)将缺省窗体的称呼改为frmserver。    将一个winsock控件拖到窗体上,并将该控件的名字改为tcpserver。请提防个中的protocol属性应为scktcpprotocol。在窗体上增添两个textbox控件。将第一个定名为txtsenddata,第二个定名为txtoutput(如图2.1所示)。        (图2.1)        3)为窗体增添如次的代码。    private sub form_load()    '将localport属性树立为平头后挪用listen本领。    tcpserver.localport = 2000    tcpserver.listen    end sub    要创造效劳器,开始设定一个效劳器端标语,并发端侦听能否有存户乞求贯穿。步调中,localport属性为效劳器端标语,最佳大于1000,以制止辩论。其余,对于妇孺皆知的端标语,咱们称之为周知口,比方:端口80专用来web效劳。用listen本领发端侦听。    private sub tcpserver_connectionrequest(byval requestid as long)    '查看控件的state属性能否为封闭的。    '即使不是,在接收新的贯穿之前先封闭此贯穿。    if tcpserver.state <> sckclosed then tcpserver.close    '接收具备requestid参数的贯穿。    tcpserver.accept requestid    end sub    当存户贯穿到本效劳器时,爆发connectrequest事变,在事变中接受存户的乞求。    步调中的requestid参数表白存户乞求贯穿的id号,accept本领接受一个乞求贯穿。    private sub txtsenddata_change()    '名为 txtsenddata 的 textbox 控件中包括要发送的数据。用户往文本框中    '键入数据时,运用 senddata 本领发送输出的字符串。    tcpserver.senddata txtsenddata.text    end sub    当咱们须要向存户发送数据时,只须要挪用senddata本领。    步调中运用senddata本领发送数据。    private sub tcpserver_dataarrival (byval bytestotal as long)    '为加入的数据证明一个变量。    '挪用getdata本领,并将数据付与名为txtoutput的textbox的text属性。    dim strdata as string    tcpserver.getdata strdata    txtoutput.text = strdata    end sub    当存户向本效劳器发送的数据达到后,爆发dataarrival事变,在事变中接受数据。    步调中的bytestotal参数表白收到数据的总额,getdata本领接受数据。    private sub tcpserver_close(index as integer)    tcpserver.close    tcpserver.listen    end sub    当存户封闭贯穿时,效劳器会爆发close事变。在事变中封闭暂时贯穿,从新发端侦听。个中运用close本领封闭贯穿。固然效劳器也不妨积极挪用close本领封闭贯穿,比方在窗体封闭时封闭贯穿。    sub frmserver_unload(cancel as integer)    tcpserver.close    end sub    经过上头的办法咱们创造了一个大略的效劳器端运用步调。为了使它不妨处事,还必需为它创造一个存户端的运用步调。        2.3 创造一个 tcp存户端(socket存户)    1)在名目中增添一个新的窗体,将其定名为frmclient。在窗体中增添一个winsock控件,并将其定名为tcpclient。在frmclient中增添两个textbox控件,将第一个定名为txtsend,第二个定名为txtoutput。在窗体上放一个commandbutton控件,并将其定名为cmdconnect。    2)将commandbutton控件的题目改为“贯穿”。    3)在窗体中增添如次的代码。    private sub form_load()    'winsock控件名字为tcpclient。    '提防:要指定长途长机,不妨运用ip地方(比方:“121.111.1.1”),    '也不妨运用计划机的别号,如次所示:    tcpclient.remotehost = "hostserver1"     tcpclient.remoteport = 2000    end sub    要创造存户贯穿效劳器,开始要树立效劳器长机名,如ip地方、域名或计划机名等,而后设定效劳端标语,结果贯穿到效劳器上。在步调中:    remotehost属性表白效劳器长机名;    remoteport属性表白效劳器端标语。    private sub cmdconnect_click()    '挪用connect本领,初始化贯穿。     tcpclient.connect    end sub    connect本领贯穿到效劳器;        private sub txtsenddata_change()     tcpclient.senddata txtsend.text    end sub        private sub tcpclient_dataarrival (byval bytestotal as long)     dim strdata as string     tcpclient.getdata strdata     txtoutput.text = strdata    end sub        private sub tcpclient_close(index as integer)    tcpclient.close    end sub        至此,咱们创造了一个大略的存户/效劳器形式的运用步调。咱们不妨将两者都运转起来:运转名目,而后单击“贯穿”。在两个窗体之一的txtsenddata文本框中键入文本,不妨看到同样的笔墨将出此刻另一个窗体的txtoutput文本框中(如图2.2所示)。    图2.2    2.4 创造多存户效劳器,接收多个贯穿乞求    上头安排的基础效劳器只能接收一个贯穿乞求。经过创造控件数组,运用一个控件也不妨同声接收多个贯穿乞求。运用这种本领,不复须要封闭贯穿,而只需创造新的控件范例(经过树立其索引属性),而后,在新的范例上挪用accept本领。    底下的代码假命名字为sckserver的窗体上有一个winsock控件,它的index属性被树立为0;控件是控件数组的一局部。在证明局部,声领会一个模块级的变量intmax。在窗体的load事变中,intmax被树立为0,数组中第一个控件的localport属性被树立为2000。而后挪用控件的listen本领,使之变成“侦听”控件。在贯穿乞求达到时,代码将检验和测定index能否为0(“侦听”控件的值)。即使为0,侦听控件将减少intmax的值,并运用该号子来创造新的控件范例。而后运用新的控件范例接收贯穿乞求。    private intmax as long    private sub form_load()     intmax = 0     sckserver(0).localport = 2000     sckserver(0).listen    end sub    设定端标语后发端侦听。        private sub sckserver_connectionrequest (index as integer, byval requestid as long)     if index = 0 then     intmax = intmax + 1     load sckserver(intmax)     sckserver(intmax).localport = 0     sckserver(intmax).accept requestid     load txtdata(intmax)     end if    end sub    在connectionrequest事变中,开始加载一个socket控件,而后再用它来接受贯穿。        2.5 尝试开拓中该当提防的题目    1)和议的树立。    当winsock控件与长途计划机创造贯穿时,亦可经过用户数据包和议(udp)举行数据调换。在运用winsock控件时,开始须要商量运用什么和议。tcp运用步调应提防采用tcp和议。可按如次办法树立运用步调运用的和议:在“属性”窗口中单击“和议”,而后采用scktcpprotocol大概sckudpprotocol。也不妨运用步调代码来树立protocol属性,如次所示:    winsock1.protocol = scktcpprotocol开拓tcp运用步调应提防采用tcp和议。    2)提防决定“计划机的名字”。    计划机的名字用如次办法搜索:    ①在计划机的“工作栏”上,单击“发端”。    ②在“树立”项中,单击“遏制面板”。    ③ 双击“搜集”图标。    ④ 单击“标识”选项卡。    ⑤ 在“计划机称呼”框中不妨找到计划机的称呼。    上头找到的计划机称呼不妨动作remotehost属性的值。运用这一本领,我简单地实行了某企业消息处置体例,胜利地实行了企业里面消息流的处置。固然暂时已有www欣赏器、ftp等internet互联网络的运用东西,不妨载入网上的消息,或实行网上处事站间的数据与文献的传输,然而用windows sockets则可简单地在用户本人安排的windwos运用步调中经过internet互联网络传输数据,因为互联网络的传输速率不妨高达数十兆到数百兆比特每秒,所以,除去不妨传播普遍的笔墨、图形、声响等数据文献外,还不妨用来传播及时的图像数据。        三.创造internet explorer中运转的运用步调    3.1 概括    visual basic 5.0本子是径直对准internet的(也有人称是对准activex的),microsoft暂时正在赶紧开拓用来www的visual basic(估量visual basic 6.0必将具备这一功效)。visual basic囊括一个称为用户文书档案的新容器典型。用户文书档案形成了visual basic document(也称activex document)文书档案的普通,而且天生的文书档案不妨运用microsoft internet explorer 3.0之上本子在internet上欣赏(见图3.1)。运用这一功效咱们不妨简单地创造动静web页面。必需指出的是:运用visual basic创造的acitvex document与其余activex document略有各别。visul basic acitvex document与visual basic窗体大概沟通,能在activex document容器中运用,但咱们不许像运转独力运用步调那么运转它们。用户文书档案与窗体特殊一致,不妨囊括控件、表露动静框、处置数据以及挪用其余组件。用户文书档案与窗体的辨别重要表此刻:⑴运用步调中的其余局部没辙获得用户文书档案中的数据,不许从文书档案外部援用用户文书档案中的属性值。⑵赋予用户文书档案的运用步调须要internet explorer来运转,没辙径直从visual basic中调节和测试它们。⑶编写翻译过的运用步调必需从htm文献启用,它在表露vbd文献之前装入运用步调的代码组件。即使没有这个htm文献,就不许启用编写翻译过的exe文献或从internet explorer中察看vbd文献。    3.2 activex 文书档案东西的要害属性    在报告创造activex 文书档案的简直本领之前,咱们先接洽一下activex 文书档案东西的要害属性。每个用户文书档案包括一个内置的hyperlink东西,可用它来加入urls和考察internet explorer的文书档案高速缓存。navigateto本领大概等价于窗体的show本领。    事变 show:当欣赏器表露文书档案时爆发;     hide:当欣赏器摆脱文书档案时爆发;    属性 hyperlink:用来导航东西;     hyperlink东西有三个要害本领:     goback:前一页面;     gofoward:后一页面;     navigateto:导航;    比方hyperlink.navigateto "http:/www.pccomputing.com"不妨导航至《电子与电脑》期刊的网页。    3.3 用visual basic创造activex document的简直办法    咱们将开拓具备如次功效的运用步调:创造两个activex文书档案页面,第一个诉求考察者输出暗号,按动按钮后,若暗号精确则加入第二页面;第二页面不妨导航至华夏培养与科学研究计划机网的主效劳器。    1)在file菜单中单击new project来翻开一个new project对话框,而后双击activex document exe图标,即可创造一个新名目并加入开拓情况。    2)在“用户文书档案”的第一个userdocument上增添两个label控件、一个textbox和一个commandbutton(如图3.1所示)。    (图3.1)。    增添如次代码:    private sub command1_click()    '核查text1的文本,即使精确,则转至第二个文书档案页面。    if text1.text = "690909" then    hyperlink.navigateto "d:\activex文书档案\userdocument2.vbd"    end if    end sub    3)从菜单“名目”中采用“增添用户文书档案”,在工程名目中增添第二个userdocument,而后在userdocument2上增添一个commandbutton(如图3.2所示)。    (图3.2)    增添如次的代码:    private sub command1_click()    '按动按钮,导航至《电子与电脑》期刊网页。    hyperlink.navigateto "http:///www.pccomputing.com"    end sub    4)编写翻译文书档案。    5)运用internet explorer欣赏器尝试文书档案。    四.创造ftp欣赏器    4.1 概括    ftp是internet网上最早运用的文献传输步调。ftp的简直含意是文献传输和议(file transfer protocol),它是由扶助internet文献传输的百般回程所构成的汇合。ftp的效率是使internet用户不妨将文献从一台计划机正片到另一台计划机,为实行internet资源共享供给有力的保护。它各别于nfs(network file system)和netbios和议,一旦你要考察另一台计划机中的文献,任何功夫都要运转ftp,并且你只能正片文献到本人的呆板中时来运用它。ftp是一种存户机/效劳器构造,既须要存户机软硬件,又须要效劳器软硬件。ftp存户机步调在用户计划机上实行,效劳器步调在宿主计划机上实行。用户启用ftp存户机步调,经过输出户名和口令同长途长机上的ftp效劳器创造贯穿,一旦胜利,在internet上用户计划机和宿主计划机之间就创造起一条吩咐链路(遏制链路)。    4.2 用visual basic 5.0创造ftp欣赏器的办法    1) 咱们将开拓具备如次功效的运用步调:运用两个文本框和一个internet transfer控件。可在“地方”文本框中输出ftp效劳器的url(uniform resource locator),而后从实质文本框中采用一个文献或目次。即使采用目次,则运用步调就会表露该目次。即使采用文献,则欣赏器会将文献存于windows temp目次中。当用户按回车键时,“地方”文本框会经过树立internet transfer控件的url属性并挪用execute本领来实行乞求。当乞求一个一定文献时,openurl本领实行沟通的举措。但是,当你运用openurl本领归来目次的实质时,会归来指明目次实质的html源代码。    2)在file菜单中单击new project,再不翻开new project对话框,而后双击“普遍exe”图标,即创造一个新名目,并加入开拓情况。    3)在窗体上增添一个label控件、一个textbox和一个listbox(如图4.1所示)。    图4.1    4)增添如次代码:    private sub text1_click(keyascii as integer)    if keyascii=asc(vbcr) then    keyascii=0    text1.selstart=0    text1.sellength=len(text1)    on error goto erropenurl    inetbrowse.url=text1.text    inetbrowse.execute, "dir"    caption=inetbrowse.url    end if    exit sub     erropenurl:     select case err.number     case icbadurl     msgbox"地方缺点,请从新收支!"     case icconnectfailed,icconnectionaborted,iccannotconnect     msgbox"没辙连入彀络!"     case icinettimeout     msgbox"贯穿超时!"     case icexecuting     inetbrowse.cancel    if inetbrowse.stillexecuting then     caption="不许废除乞求!"     else    resume    end if    end select    end sub    当你提交一个乞求时,树立缺点组织很要害,更加是icexecuting缺点。internet transfer控件沿用异步办法处置一切乞求。但是,在同一功夫仅能处置一个乞求。即使你废除正在举行的乞求,那么在从新发端前确定要查看stillexecuting属性。有些乞求不许被废除,而且大略地运用resume语句会引导死轮回。    private sub list1_dblclick)    if list1.sellength then     if right(list1.seltext1,1)="/" then     text1=text1 & "/" left(text1.seltext,text1.sellength-1)    on error goto errbrowse    msdir=right(text1.len(text1)-len(inetbrowse.url)    inetbrowse.execute,"dir"&msdir&"/*"    else    msdir=right(text1.len(text1)-len(inetbrowse.url))&"/"&""&mstempdir&list1.seltext    end if    end if    exit sub    errbrowse:    if err=icexecuting then     inetbrowse.cancel     if inetbrowse.stillexecuting then     msgbox"不许废除乞求!"    else    resume    end if    else    debug.print err&""&err.description    end if    end sub     ftp吩咐用来在当地长机和长途长机间或两长途长机间传递文献。为了保证所传递的文献具备独一的文献名,可运用少许选项来处置文献名,再不于符合接受长机的须要。用户能经过运用“anonymous”登录举行大众文献考察。     internet transfer控件的books online文书档案展现用来创造ftp欣赏器的步调片断,这边就不复精细报告了。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.