vb_net的socket编程分析

vb_net的socket编程分析

ID:11533044

大小:1.57 MB

页数:4页

时间:2018-07-12

vb_net的socket编程分析_第1页
vb_net的socket编程分析_第2页
vb_net的socket编程分析_第3页
vb_net的socket编程分析_第4页
资源描述:

《vb_net的socket编程分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第26卷第2期2005年3月通化师范学院学报JOURNALOFTONGHUATEACHERSπCOLLEGEVol.26№2Mar.20053VB.Net的socket编程分析曹建英(陇东学院计算机科学系甘肃庆阳市745000)摘要:主要讨论了VB.Net的socket对象编程原理,并以机房上机管理系统的开发中服务器端和客户端为例,说明了具体实现方法1关键词:ADO.Net;Socket;VB.Net;编程中图分类号:TP311文献标识码:A文章编号:1008-7974(2005)02-0028-04VB.net是微软公司开发的一种最新的系统开发平台1它具有超强的系统集成性和强

2、大而完备的开发控件,利用微软最新的数据库访问技术ADO.Net1该数据库访问技术主要是针对未来的网络模型和断开式数据结构、与XML应用程序的开发紧密结合、能够组合来自多个不同数据源的通用数据表示形式,以及与数据库的交互而优化的功能,它们都是.Net框架固有的内容1而基于VB.Net的socket对象是客户端和服务器端进行后台通信的根本1应用程序在网络上传输、接收的信息都是通过这个端口来实现的1在应用程序的开发中就象使用文件句柄一样,可以对socket对象进行读写操作1深入探讨其工作原理对设计网络程序具有的实际意义,我们以机房上机管理系统的开发为例讨论其中的关健技术11socke

3、t对象模型socket是为计算机提供的一个通信端口,可以通过这个端口与任何一个具有socket的计算机进行通信1应用程序在网络上传输、接收的信息都通过这个端口来实现1有许多的程序设计语言都可以进行socket开发,其中VB是使用最普遍、结合最紧密的,而VB.Net对原有的socket类和相关的方法进行了一系列封装,使程序变的更加简单,socket接口在WINDOWS编程环境中的位置如图1:图1socket对象模型一般使用中,面向连接协议的socket编程应用范围最广,因为面向连接协议提供了一系列的数据纠错功能,可以保证在网络传输上的及时、无误的到达对方1其面向连接的socket

4、编程模型如下:(如图2)socket对象的属性和方法如下:bind方法:使socket与一个IP地址绑定1Listen方法:将socket置于侦听状态1Accept方法:创建的socket以处理传入的连接请求13收稿日期:2004-01-16作者简介:曹建英(1964—),男,陇东学院计算机科学系讲师,主要从事计算机专业课教学与研究1Connect方法:建立远程连接1Send方法:将数据发送到连接的socket1Receive方法:接收来自socket的数据1图2socket编程模型Close方法:强制socket关闭1Available属性:获取已经从网络接收且可供读取的数据

5、1Blocking属性:获取或设置一个值,该值表示socket是否处于阻塞1Localendpoint属性:获取本地终结点1Protocoltype属性:获取socket的协议类型1Remoteendpoint属性:获取远程结点1Sockettype属性:获取socket的类型1一般来说,使用socket对象必须按四个步骤进行:(1)程序建立一个socket;(2)程序必须按要求配置socket;(3)程序必须按socket要求通过此协议发送和接收数据;(4)程序必须关闭此socket12后台通信功能设计该部分是实现与客户端进行通信的主要部分,基本工作原理如图3,4所示的流程所

6、示1Socket通信协议就如同人与人通信一样需要一定的语法规则,在与客户机的相互通信中,将需要一个简单的协议,其协议是计算机进行通信的基础1使计算机之间有响应客户端用户操作有两种:一是登录,另一种是退出1图3登入响应流程首先是要定义好通信的协议其代码如下:图4退出响应流程侦听部分:代码中的IP地址我们假设为127.0.0.1用来表示本机的地址,其代码如下:subestablistsocket(byvalstateasobject)whilerundimlistenerassocketlistener=newsocket(addressfamliy.internetwork,so

7、ckettype.stream,protocoltype.tcp)dimserveraddasipaddress=dns.resolve("127.0.0.1").addresslist(0)listener.bind(enpoint)listener.listen(0)socket(socketcount)=listener.acceptlistener.close()socketcount=socketcount+1endwhileendsubpublicclassform1inheri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。