说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB中Winsock控制的UDP协议的使用

HTML文档下载 WORD文档下载 PDF文档下载
VB中Winsock控制的UDP协议的使用


重庆 张业武

  UDP协议基础:
  UDP(User Datagram Protocol)是一种无连接协议,与TCP操作不同,计算机间并不需要建立一个连接,同时,一个UDP应用可同时作为应用的客户或服务器方。
  由于UDP协议并不需要建立一个明确的连接,因此建立UDP应用要比建立TCP应用简单得多。在TCP应用中,一个Winsock控制必须明确地设置成“监听”,而其它Winsock控制则必须使用Connect方法来初始一个连接。
  使用UDP协议,在两个Winsock控制间进行数据的发送,在连接的两端必须完成以下三步:
  1.设置RemoteHost属性为其它计算机的名称;
  2.设置RemotePort属性为第二个Winsock控制的LocalPort属性的值;
  3.申请Bind方法。
  通过使用方法Bind,则可将该Winsock控制捆绑到一个本地端口,以便该Winsock控制使用该端口来进行类似TCP的“监听”功能,并防止其它应用使用该端口。
  使用该协议传送数据,首先设置客户计算机的LocalPort属性。而作为服务器的计算机仅需要设置RemoteHost属性为客户计算机的IP地址或域名即可,并将其RemotePort属性设置成客户计算机上的LocalPort属性即可,然后就可通过申请SendData方法来开始信息发送,客户计算机则可在其DataArrial事件中使用方法GetData来获取发送的信息。
  下例具体演示了一个“谈话”应用,以允许相互间进行实时的交谈。
  UDP应用一:
  建立一个新标准EXE工程文件,拖放一个Winsock控制到表单上,添加两个文本框到表单上,然后进行以下属性的设置:
  表单(Form):Name=“frmPeerA” Caption=“UDP Application(1)”
  Winsock控制:Name=“udpPeerA” Protocol=“sckUDPProtocol”
  文本框1(TextBox): Name“txtSend”
  文本框2(TcxtBox): Name=“txtOutput” MultiLine-True ScrollBars=2
  然后打开代码窗口,分别在相应的事件下输入以下代码:
  Private Sub Form_Load()
   With udpPeerA
   .RemoteHost = "197.1.1.2" '要连接到的计算机名
   .RemotePort=1010 '要连接到的端口号
   .LocalPort=1011 '该Winsock控制将要使用的本地端口号,便于其它端与该Winsock通讯
   .Bind 1011 '将该Winsock控制绑定到该本地端口
   EndWith
  End Sub
  Private Sub txtSend_Change()
   udpPeerA.SendData txtSend.Text'发送文本
  End Sub
  Private Sub udpPeerA_DataArrival(ByVal bytesTotal As Long)
   Dim strData As String
   udpPeerA.GetData strData,vbString
   txtOutput.Text = strData
  End Sub
  UDP应用二:
  类似建立UDP Server的方法,在表单上添加一个Winsock控制及两个文本框,然后进行以下属性的设置:
  表单(Form):Name=“frmPeerB” Caption=“UDP Application(2)”
  Winsock控制:Name=“udpPeerB” Protocol=“sckUDPProtoclool”
  文本框1(TextBox):Name=“txtSend”
  文本框2(TextBox):Name=“txtOutput” MultiLine=True ScrollBars=2
  然后输入以下代码:
  Private Sub Form_Load()
   With udpPeerB
   .RemoteHost = "197.1.1.2" '要连接到计算机的IP地址
   .RemotePort=1011 '要连接到的端口号
   .LocalPort=1010 '该Winsock控制将使用的本地端口号,便于其它方与之通讯
   .Bind 1010 '将该Winsock控制绑定到该本地端口
   End With
  End Sub
  Private Sub txtSend_Change()
   udpPeerB.SendData txtSend.Text '发送文本
  End Sub
  Private Sub udpPeerB_DataArrival(ByVal bytesTotal As Long)
   Dim strData As String
   udpPeerB.GetData strData,vbString
  txtOutput.Text=strData
  End Sub
  要运行该实例,打开两个Visual Basic的事例,然后分别运行这两个工程文件即可。若要在不同的机器上运行此两例,只需要将两个工程文件中的RemoteHost改变成相应的计算机的IP地址或域名即可(以上例子在Visual Basic 5.0及PWIN97上通过)。
Android获取本机电话号码 ListView自动滚动方法 自定义Android菜单背景 Android OpenGL下截图代码 查看Android应用的详细信息2.3有新方法 Android开发Java图书推荐 Android开发图书推荐 UiModeManager设置夜间模式和行车模式 Android 2.2新增的DeviceAdminInfo类 Android获取摄像头详细信息 Android流量统计TrafficStats类的使用 电子邮件解析android.net.MailTo类 扫描和获取OBB文件信息 Android加速感应器开发平衡球代码解析 StrictMode限制模式API加速你的应用 手势识别兼容Android 1.x和2.x的代码 NativeActivity类在NDK中管理Activity OBB文件和StorageManager类使用介绍 DownloadManager下载管理类2.3新增API介绍 Android平台上的11个感应器你都知道吗 Android 2.3中的java.io.File类新增功能 更轻松的获取APK文件安装时间 Android控件对应表,丰富你的UI设计 Android开发进阶之NIO非阻塞包(八) Android开发进阶之NIO非阻塞包(七) Android开发进阶之NIO非阻塞包(六) Android开发进阶之NIO非阻塞包(五) Android开发进阶之NIO非阻塞包(四) Android开发进阶之NIO非阻塞包(三) Android开发进阶之NIO非阻塞包(二) Android开发进阶之NIO非阻塞包(一) 想自己做个字典软件,但是没有词库 怎样做个链接?链接邮件地址。 如何在工具栏statusbar的右下角(最后一个panel里)做一个走动的时钟 大家讨论一下开发JSP Web站点用什么工具比较好? 我想编一个网页管理软件,有如下要求。。。 大家帮看一下,加注释的一句是什么意思 高分求救!!有关数据同步!! 北京的程序员薪水如何(6000/月)? 大放分﹗﹗即放即給﹗﹗ 关于WinSock通信 我用怎样得到过滤后有多少条记录呢? 存储过程问题,还有些小麻烦,帮帮忙呀,谢谢:) 急~~!关于ChildView类的问问题~~!!请大家帮助。谢谢。 怎么用Container Managed Persistence EntityBean实现对数据库的增删改,最好用jsp调用 如何知道光驱是打开的还是关闭的??? 程序运行一会儿,BDE 数据库引擎空间不够,什么原因?? 在asp.net里怎么引用word对象,和对它进行操作??? 这个问题不好弄! 讨论:关于使用UDP作为服务器主要协议会碰到的问题? 我安装的rh8.0中,/dev/里的东东怎么都是0字节啊?! 请教,有什么工具能把jpeg图片转换为mpeag1视频,使它能在vcd上观看 如何指定PB6.5访问oracle9 i的默认用户名 多线程资源释放的问题 高手救命!!用pb如何实现用热键调出程序的功能 浏览帖子的问题 高难度:列表视图的重绘问题 编写active控件的问题 报错:变量使用了一个VbScript中不支持的Automation类型oMail.send 青帮忙解释一下一段关于显示VARRAY中数据的PL/SQL语句? 有什么工具能转real ->wmv or wma? 有一点点难。 近来十分不爽。大家进来聊天吧 如何让CEdit控件可以输入希腊字母 如何在asp中实现报表打印的问题,急! 平生第一次看演唱会---张学友温州演唱会。张学友真的老了,满脸的沧桑,但诗歌还是唱得那么好…… 数据库中的<input>的问题 早班火车 蓝色心情 三笑大法 般若什么密忘光光啦~ 角落的青苔:射手无弓?混得好糗啊 jennyvenus JennyVenus 你们违约,哼!!!!!!!!!!!!!!!! 请问在jsp或别的java程序中如何调用Delphi做的com组件?问了很久,没人知道吗? 关于JSP支持问题。 求一小段代码! 我有一个点连接<a href="setup/XXXX.exe">下载</a>但我想点下后既要下载还想用用Response.Execute(XXX.asp)来执行一个页面,该怎么做? 请问Delphi的编辑框中,是不是没有自动感应的功能! 注册dll组件,除了regsvr32,还有其它方法吗? document.layers返回是个什么值呢??各位大哥指点一下吧 关于TCP通信 一个关于LyfUpload上传组件的小问题?请达人help me? 去掉数字中的逗号分隔符。急等 请问在jsp或别的java程序中如何调用Delphi做的com组件?问了很久,没人知道吗? 自己写的异常类的问题?谢谢!! 这个视图如何写? 请问在jsp或别的java程序中如何调用Delphi做的com组件?问了很久,没人知道吗? 如何实现对winform中,编写Label1双击事件? 没脖子神兽爆红网络 网友PS “缩台湾票选百大性感美女 郭雪芙与众女神朴智星将与美女主播女友结婚:金敏智曾郭美美童年照曝光被指整容前后完全不是香港TVB23岁女星被富二代醉奸并拍奇闻:越南男人爱戴绿帽子没脖子神兽ps图走红:爆笑没脖子神兽黄晓明穿内增高鞋来杭宣传《精忠岳飞》港相亲节目男嘉宾卷入强奸案:涉夜店性TVB邀港姐拍宣传片 尺度过于诱惑少周迅童颜现身摄影展 与章子怡齐敬“小迪拜最高住宅楼电梯故障 富豪爬97楼黄晓明扮大猩猩搞怪十足 张嘉倪为其擦罕见内地明星合照曝光 蔡明一身红潮范汪小菲疑给大S施压“造人” 称明年想大牌明星卸妆比“真相”杨丽萍《孔雀》见面会 白色长甲似白骨向华强太太晒75克拉巨钻 女星钻戒大毛阿敏富豪丈夫疑曝光:操盘多家公司 撒贝宁亲妹妹首度曝光:形似小撒 从事张曼玉早年少女照曝光 被疑未穿内衣failed: 一个讲“诚信”胡喷的郭光俊:一诺千金,“赤脚”行医46载failed: 开始供暖failed: 非宁静无以致“远”failed: 郝释斋:隐居嵩山的一failed: 邓丽君诞辰60周年纪登封市组团参加中日韩经贸对接会央视报道新密新型城镇化建设failed: 小小空竹抖起来努力推进航空港实验区大建设大发展大跨七里香堤湾居生活分享会举行红木家具品牌连天红唱火新中华民谣failed: 社区居民称他为名人failed: “虎头娃”春节后可上failed: 正商书香华府 开启龙福园社区 举行消防演练failed: 清洁工是个支部委员failed: TOP家居failed: “郑西”始展翅 东、文化路街道 志愿者举办综合性社区服禅武大酒店 与您一起过暖冬
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘