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

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上通过)。
jQuery Mobile 开发入门手册--概述 jQuery Mobile 开发入门手册--技术理论 jQuery Mobile 开发入门手册--组件 SMTP/POP3收发邮件的C#类库SmtPop.Net 用C#编写的Telnet开源类库 Visual Studio C#创建Windows服务(Windows Service) C#取得Windows服务列表 C#编程自动安装Windows服务 C#安装/删除 .NET Windows服务 C#启动、停止、重启Windows服务 jQuery实现Ajax提交form表单的简单方法 字符串String与枚举Enum之间的转换[C#] Javascript统计DOM元素里文字的行数 C#从Web网站下载文件 C#得到区域名称列表 C#合并多个PrintDocument WpWidgetLibrary - Windows Phone的HTML部件库(Widgets) 让你不再害怕C语言指针 C语言概述-C语言教程 Turbo C 2.0集成开发环境的使用(上)-C语言教程 Turbo C 2.0集成开发环境的使用(下)-C语言教程 程序的灵魂—算法-C语言教程 数据类型、运算符与表达式(上)-C语言教程 数据类型、运算符与表达式(下)-C语言教程 最简单的C语言顺序程序设计-C语言教程 分支结构程序-C语言教程 循环控制-C语言教程 数值数组-C语言教程 字符数组-C语言教程 函数(上)-C语言教程 函数(下)-C语言教程 为什么动态增加的WebBrowser1.Align不能为alClient啊? 怎样通过代码实现CTRL+C和CTRL+V的功能? 有两个问题要问,很难的哟,谁来挑战一下!! 在dll中能不能声明一些类,供外部程序调用?能给个例子最好; 各位,请帮我看看! weblogic6.1中配置好了oracle9i的连接池,名为oracle9,但是编程工程中如何使用这个连接池,希望答复!! MSXML2.XMLHTTP 是什么组件? 颜色填充 我要用到GPRS的知识,了解者请赐教! 请问在程序运行期间执行label1.text="***"怎么不变啊! 大家帮我看看,为什么不能选择divx压缩? 打开excel文件时提示“重载open方法未获得1参数” 帮忙写报表查询,我搞不定,请求帮忙!!!比较复杂!!!! 自定义标志的问题 着急! 今天在CSDN上终于变成三个绿色的小三角了,高兴……散分(前十位每人10分)! 如何把一个文件中text的值传到另一个文件中去? 路由器如何设置?? apache2配置文件问题,请大家指点迷 PPS文件用什么软件打开,谢谢! 填充颜色 svhost.exe程序错误 求HOOK例子 php得到xml文档中的中文无法正常显示问题 高手请指教一下思路!!!!!!!! 奇怪的乱码问题!急急!在线等待! 填充算法 今天我过生,放分(来者有分) 日期时间换算问题 填充算法 哪里可以下到SpatialWare for SQL Server 的解密文件 怎么拖动一个控件拖动一个窗口 tomcat4的server.xml配置文件是否有问题,请大家帮忙! 填充算法 谁能给我JDK1.4下载的地址啊?谢谢了,TOMCAT的也要! 请问各位同仁,如何关闭SHELLEXECUTE()打开的应用程序。 有没有图形化的TrackBar! 填充算法 急问:中文库表 大家看看排序有什么问题? 各位大侠:在sql语句中如何滤除查询后的重复字段!!本小妹在线等候!切急!! 颜色填充算法 颜色填充算法 Treeview中如何得知所有子节点的数目(不展开节点的前提下) 重分求取Rabin-Miller算法源码及Lehmann算法源码!!!!!!!!!!!!!! !急问关于XML问题,在线等待,100奉送 redhat9 linux显示中文的问题?? 不知道这样的问题,大伙是否遇到:使用ADO.net执行比较复杂的统计操作(运行时间为15秒左右)使用try{}catch{}捕获到摸民气秒的问题。比 关于数据库的移值 VC6好像不支持ADO啊?是不是? 诚寻今年高程考试代笔。待遇优厚 秋色之空3集 高中生对兼职工作有什么看法(英语80词 企业发展需要经历几个阶段,具体详细说明提示:企业发展就像一个人的一生一样,哺乳,上学,毕业,创业等. 形容时运有了转机,好运气就要来了的词语是什么? permission是什么意思 八国联军侵华战争时慈禧太后逃亡了哪里 写出下面的惯用语把接待宾客的当地主人喻为( )把足智多谋的人喻为( )把吝啬钱财、一毛不拔的人喻为( )把德才兼备,大有作为的人喻为( )把孤陋寡闻,只是不光的人喻为( )把没 写出下列惯用语把在团体中起主导的人喻为()把足智多谋的人喻为()把接待宾客的当地主人喻为()把公堂台阶下受审的囚犯喻为()把吝啬钱财、一毛不拔的人喻为()把浑浑噩噩、 别人说你是白眼狼是什么意思? 原理或结论.抗日战争胜利的历史意义是什么? 利生排球怎么样 中非民兵与前叛军爆发冲突 造成近40英媒:养老金制度需考虑气候变化 否则格陵兰岛取消铀矿开采禁令恒天然调查:无肉毒杆菌风险 应改进生省委常委分赴教育实践活动联系点参加指台\"立委\":美国这种邪恶国家一定男子“拍卖初夜”以2600美元成交 外交部:日本应停止渲染外部威胁 说明金砖国家共议“气候变化对粮食安全不利安徽宁国副市长看望百岁老人 疑似PS美驻吉尔吉斯使馆收到不明信封 内装白中超股东大会在重庆低调召开 各俱乐部绿色发展泽被神州内蒙古迈入动车时代去年粮食收购首超7000亿斤强化规则依法保护李克强分别会见哥斯达黎加总统索利斯、今年关税总水平为9.8%水碧天蓝朗润山川前行,朝着碧水蓝天(全面深化改革一年全国政协召开双周协商座谈会共同谱写中拉全面合作伙伴关系新篇章丧尸游戏异界之风流邪君神大人幸福末世龙鼎战龙刀之神皇武侠大轮回韩娱之顺手而为最强超级英雄史上最强少年阿武麦积山植物园旅游极地体验馆旅游密印寺旅游先农坛旅游古代建筑博物馆旅游上清宫旅游盖斯墓旅游钻石水道旅游措木及日湖旅游寻梦园香草农场旅游老码头旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘