在VB中利用UDP协议编写聊天程序

2016-02-19 12:54 6 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是在VB中利用UDP协议编写聊天程序,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

UDP协议是一种无连接协议,两台计算机之间的数据传输类似于传递邮件:消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接。
  由于UDP协议不需要显式的连接,就需要在两个Winsock控件中间发送数据,关键需要完成以下的三步:
  1.将RemoteHost属性设置为另一台计算机的名称。
  2.将RemotePort属性设置为第二个控件的LocalPort属性。
  3.调用Bind方法,指定使用的LocalPort。
  因为两台计算机的地位可以看成“对等的”,这种应用程序也被称为点对点的应用程序。
  下面将创建一个聊天应用程序,两个人可以通过它进行实时的交谈。请按照以下步骤制作:
  1.创建一个新的StandardEXE工程。将缺省的窗体的名称修改为frmPeerA,将窗体的标题修改为“PeerA”。
  2.在窗体中放入一个Winsock控件,并将其命名为udpPeerA。在“属性”页上,单击“协议”并将协议修改为UDPProtocol。
  3.在窗体中添加两个TextBox控件。将第一个命名为txtSend,第二个命名为txtOutput。
  4.为窗体添加如下的代码。
  PrivateSubForm_Load()
  ′控件的名字为udpPeerA
  WithudpPeerA
  ′重点:必须将RemoteHost的值修改为对方计算机的名字。
  RemoteHost=″PeerB″
  RemotePort=1001′连接的端口号。
  Bind1002′绑定到本地的端口。
  EndWith
  frmPeerB.Show′显示第二个窗体。
  EndSub
  PrivateSubtxtSend_Change()
  ′在键入文本时,立即将其发送出去。
  udpPeerA.SendDatatxtSend.Text
  EndSub
  PrivateSubudpPeerA_DataArrival_
  (ByValbytesTotalAsLong)
  DimstrDataAsString
  udpPeerA.GetDatastrData
  txtOutput.Text=strData
  EndSub
  要创建第二个UDP伙伴,请按照以下步骤执行:
  1.在工程中添加一个标准窗体,将窗体的名字修改为frmPeerB,将窗体的标题修改为“PeerB”。
  2.在窗体中放入一个Winsock控件,并将其命名为udpPeerB。
  3.在“属性”页上,单击“协议”并将协议修改为“UDPProtocol”。
  4.在窗体上添加两个TextBox控件。将第一个命名为txtSend,第二个命名为txtOutput。
  5.在窗体中添加如下代码
  PrivateSubForm_Load()
  ′控件的名字为udpPeerB。
  WithudpPeerB
  ′重点:必须将RemoteHost的值改为对方计算机的名字。
  RemoteHost=″PeerA″
  RemotePort=1002′要连接的端口。
  Bind1001′绑定到本地的端口上。
  EndWith
  EndSub
  PrivateSubtxtSend_Change()
  ′在键入后立即发送文本。
  udpPeerB.SendDatatxtSend.Text
  EndSub
  PrivateSubudpPeerB_DataArrival_
  (ByValbytesTotalAsLong)
  DimstrDataAsString
  udpPeerB.GetDatastrData
  txtOutput.Text=strData
  EndSub
  运行工程,然后在两个窗体的txtSendTextBox中分别键入一些文本。键入的文字将出现在另一个窗体的txtOutputTextBox中。->

来源:http://www.tulaoshi.com/n/20160219/1602393.html

延伸阅读
编写快速高效的Windows程序是我们的实际需要。当前越来越多的专业和非专业编程人员都倾向于用VB来编写一些Windows下的应用软件。但不可否认:VB所写的应用软件由于不是真编译代码,逊色于用C++和后起之秀Delphi编写的应用程序。以下参考有关资料并结合日常的使用经验,来谈谈如何在最大程度上弥补VB的这些不足,从而写出更加有效的Windows程序...
标签: ASP
  前几天大哥对我说,使用asp真麻烦,编译环境实在是差劲,他总是在vb里面写好调试好代码然后在把代码粘贴到asp程序中,为此,我在这提出一个解决之道。使用VB接替ASP所有的对象,在VB中编写纯粹的ASP程序。 大家应该都知道,其实asp中的好多组件都是使用VB编写出来的,但是让大家感到很不方便的是如何使用asp固有的几个组件,例如Re...
以下代码行假设你在文本框中显示错误行,这些代码稍加更改就可以适用其他范围。 首先,在窗体中建立一个“线”控件,并把它的索引号定为0。接着,添加如下的代码: PrivateSubSetErrorState(ByValErrorStateAsBoolean,_ ByRefControlAsControl) OnErrorResumeNext LoadlinError(Control.Index) WithlinError(Control.Index) ...
一、WindowsCGI ----通用网关接口CGI是服务器与应用程序之间的接口,在编写HTML文件时可结合其他程序语言使客户通过浏览器将数据输入到文件里,经服务器处理后转送给客户或记录在服务器的数据库中。任何一种程序设计语言写的程序,若可在服务器主机上运行并可用CGI接口来传递数据,就可作为CGI应用程序,这种语言可被称为CGI程序语言或脚本...
三、CGI编程实例 本节将用VB编写一个处理主页客户留言簿的CGI程序。除了要调用本文前面所介绍的Win32API函数外,程序中还调用了Win32API函数GetTempFileName()来获得一个唯一的临时文件名。程序中的函数UrlDecode()用来对客户端的输入进行URL译码。函数GetCgiValue()则用来分解字符串,根据表单元素的NAME属性获取其VALUE值,并调用Ur...

经验教程

385

收藏

79
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部