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

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上通过)。
知新网CTO:从程序员的视角,实践精益创业 罗永浩锤子ROM:小团队的75项微创新 谷歌知识图谱扩展到Android平板电影中 云计算大战升温 服务器OEM押注OpenStack 如何将战略性的内容策略融入进网页设计中 数字天堂CTO:移动行业应用开发“潜规则” 众联智领CTO:从idea到面目全非的创业产品 CMDN Club 25期:knewone与路况电台的精益创业法则 Windows Blue的孪生兄弟?Office Gemini浮出水面 HTML5开发平台Ludei将支持3D游戏开发 《二战风云》发布至今,已为顽石互动狂赚2.7亿 腾讯开源基于HTML5技术的专业级图像处理引擎 AlloyImage Linux容器运行时Docker开源 360上线第三方漏洞收录平台 将现金奖励爆料者 UC推出iOS平台首个支持WebGL的浏览器 魔兽之父专访:今年游戏产业会出现一场革命 Instagram 5位传奇工程师背后的技术(PPT全译) Google云计算专家Jeff Dean与Sanjay Ghemawat获ACM Infosys基金会大奖 谷歌承诺不对开发、发行和使用开源软件的人专利诉讼 Web框架排行榜 Netty、Servlet和Vert.x位列前三 DARPA慷慨解囊的背后:Python与大数据的火花 研发周报:神奇!1KB JavaScript代码编写的3D蜜蜂 移动周报:65岁传奇Android工程师谈开发 “部落战争”开发商Supercell融资1亿美金 投资公司争先恐后 Kiip 90后华裔励志故事:从遭解雇到誉满全球 大数据基因测序的成本逼近1000美元:个性化医疗的时代来临 携程开放平台发力 将实现旗下产品全流程API支持 Puppet labs发布2013自动化运维报告 “国”字号开发者:航旅纵横负责人薄满辉专访 金山云杨钢:核心算法保证安全和低成本 加速软件交付 企业级模拟测试服务CA LISA受追捧 算了,散分 我散,我散,我散散散 散3 发分!!!! 发分!!!!! 发分!!!!!!!! 发分!!!!!!!!!!!! 发分!!!!!!!!!!!!!!!!!!! 请问如何去掉测试版软件的“购买”提示框???急急急急!!! 有关获取HTML中Frames的问题? 给分!!!!!啊 给分!!!!!啊!! 给分!!!!!啊!!!!!! 给分!!!!!啊!!!!!!!!!!!!! 给啊!!!!!!!!!!!!! 不是俺蓄意谋两位帮主的反,实在是 ... APPLET连接数据库。。。(我已经每粉了) 千分散尽不复来!!! 千分散尽不复来!!!! 千分散尽不复来!!!!! 千分散尽不复来!! 千分散尽不复来!!!!!!!! 千分散尽不复来!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!! 用分把灌水乐园咽死!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!!!!! 千分散尽不复来~ 千分散尽不复来~! 请教数据窗口的问题 千分散尽不复来? 千分散尽不复来?! 有LVS_OWNDATA属性的CListCtrl 加图标的问题,25分 在做会员注册时,在添加新数据页,程序一运行就在RS.updata出错,为什么(原程序) 高手请你回答我啦!!!! 我要回家了,第一个给300 哪有msproxy下载????? 请问要怎么样才能在自己写的程序运行时让用户无法使用开始菜单? jdbc的版本 发分!!!!!!!!! 对于初学者,应该学些什么样的数据库? Java的优点 化功大法第一章--散分。 吸星大发第一章--散分 i need help 葵花宝典第一章--散分 求哈密而顿路的算法 我是新手请问下面程序哪错了!为什么提示我有1处错误! ???????????请问怎样将.h连入.CPP中 有10-80八个数,把它们分别入两个大圆上的五个圆圈内,使五个数的和为200,应该怎么填 问写“Saving the Earth”的英语作文人类的不明智之举:1,乱伐树木 2,乱扔垃圾 3,不加处理排放废物导致的问题:l,土地沙化 2,河水变脏 3,空气质量差 4,全球气温升高建议;合理化建议至少三条 20世纪80年代具体指哪几年? 地球表面约70%被海洋覆盖,人类为什么还缺水?请说出三个理由. 以saving the earth为题,写一篇80词的英语作文, 一个人增加40%,又减少了20%,这时等于80,这个数是 一个数的百分之60是120,这个数的10分之3是多少? 地球表面约百分之七十被海洋覆盖 人类为什么还缺水 帮忙写英语作文 Saving the Earth 80词左右提示:1 如何保护环境成为世界最大难题之一2 各种污染破坏环境 损害健康 3 不要乱倒垃圾 乱排污水4 我们应该保护环境 使我们的家园更加健康 4.5乘80%等于多少 地球严重缺水的原因是什么 求作文:saving the earth 3+3乘5等于 地球上有4/5的面积是海洋,那为什么还一直说缺水呢?我知道海洋是不能喝的,可是现在科技这么发达,就没有机器可以过滤这些海水吗?那样的话不就是不存在缺水问题了? 将20、30、40、50、60、70、80、90这八个数填入下面的圆中,使毎个大圆上的五个小圆里的数和都等于300等于300 3乘5等于几 为什么地球会缺水地区降水降是否和蒸发量有关?我们日常用掉的水流入江河,经过蒸发后下雨水流入地表,那为什么还会缺水?水循环中哪里丢失了淡水?寻求专业大虾我们提倡节约用水是节约 将20、30、40、50、60、70、80、90这八个数填入下面的圆中,使毎个大圆上的五个小圆里的数和都等于250. 1-三分之二-九分之二-二十七分之二-八十一分之二-二百四十三分之二-七百二十九分之二 简算 80万年后地球会怎样 大小两个圆,大圆半径等于小圆直径,那么大圆面积是小圆面积的() 三分之一,负九分之二,二十七分之三,负八十一分之四,( ),( )按规律括号里填什么? 最近有什么大事件```急用```80分``越新越重大的越好..最好好最分析.. 19世纪60年代相当于多少年是什么历史事件 三分之二加九份之二家二十七分之二加八十一分之二加二百四十三分之二用简便方法计算 100万年以后地球是什么样子?人穿着 家用电器 军队 科技等等是什么样子的 20世纪60年代到现在一共有多少年?怎么计算? 九分之二除与27分之八等于多少 80-90年代中发生的大事件! 20世纪60年代是多少年?怎么算出来的? (1又三分之二+九分之八-1二十七分之二)×27 找一部外星人入侵地球的科幻电影在海上外星人发射了两个想轮子一样的东西、撞坏了高架桥 20世纪60年代指的是哪年?1960-1969年对吗?可是,为什么是这样算啊?不是说1世纪等于100年吗?那20世纪应该是2000年吗?怎么是1900年了呢?另外,想请教一下公元前和公元后是怎么算的呢?哪年是公元前? 九分之二加二十七分之四等于几? 美国外星人入侵地球的电影貌似就是外星人入侵地球,外星机器长着三只脚,非常高大,他们所到之处血染江河,将人绞成血丝,供外星人食用,他们的武器,飞船有防御系统,任何战机,坦克,大炮,甚 20世纪80年代是哪一年,怎么算的1世纪=100年,20世纪怎么是1900年呢 方是多少?三分之一+九分之二+二十七分之四+八十一分之八+三的n次方分之二的n-1次方等于多少? 外星人入侵地球的科幻片,最后通过鲸鱼和外星人对话挽救了地球的是哪部影片外星人的宇宙飞船就象一截粗木头这个影片我看过,科学家发现外星人对鲸鱼的叫声很亲切,知道鲸鱼能和外星人 二十世纪80年代是什么时间,怎样计算? 若两百四十三分之三十二的n次方除以九分之四的n次方等于八分之二十七,求n的值 求美国外星人入侵地球以前看过的,很多飞碟入侵地球,外星人象八爪鱼似的,美国很久以前还抓到过,一直研究,在最后有个老头开飞机打飞碟没弹药了,直接飞进飞碟下边同归于尽了,请问这个片 二十世纪八十年代是什么时间? X乘以X等于40 ---------------------X=? 氯化钠在海水盐类物质中的比例?60%?70%?80%?90? 20世纪80年代是哪一年到哪一年?20世纪90年代又是指哪年到哪年? 60乘以(x减1)等于40乘以(x加1)怎么做 为什么海水中的盐类主要是氯化钠?海水盐分组成表 盐 类 克 / 升 占盐类的 % 氯化钠 27.213 77.75 氯化镁 3.807 10.87 硫酸镁 1.658 4.73 硫酸钙 1.26 3.6 硫酸钾 0.863 2.50 碳酸钙 0.123 0.30 溴化镁 0.076 0.20 20世纪80年代中期是什么年份 多少?乘以百分之四十等于 0.125 为什么氯化钠占海水的盐类成分88.64%,在河水所占的比例却很低? 20世纪八十年代的时代背景是什么?整个大的时代背景 1981-1985 1986-1990 1991-1995 1996-2000 2001-2005 2006-2009 这几个时间段的背景 可以重复 重赏 把100,200,300,...,700,800这八个数,分别填入小圆圈里,使每个大圈上五个数的和是2100.一共八个小圆圈,五个小圆圈用绳子连在一起是一个大圆圈,两个大圆圈连在一起,有共同的两个小圆圈.不知道说 海水中氯化钠有80%吗? 一世纪有几个年代?1980年属于多少年代? 把10.20.30.40.50.60.70.80这八位数填入圆圈内,使每个大圆上的五个数的和是200有两组,每组有五个圆,其中有两个圆是套在一起共用的 每一千克海水中含有氯化钠等盐类约35克,所以海水是咸水,但可能变成淡水跑到地球上来海水到陆地上变成淡 形成天然水循环,这个过程包含了水的 和 两种物态变化 为什么 在二十世纪八十年代 英文是这个单词的英文 把10到80这八个数填入圆圈内,使每个大圆的五个数的和是200 图是一个3个圆的和一个5个圆的合在一起 以Saving the Earth为题目写篇作文人类的不明知之举:1.乱伐树木2.乱扔垃圾3.不加处理排放污水导致的问题:1.土地沙化2.河水变脏3.空气质量差4.全球气温升高建议:合理化建议至少3条开头:As time goe “今天她梳着20世纪80年代的发型”的英语
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn