本站联系方式
   联系QQ  :1095080675
   联系QQ  :1223950575
  技术指导:1353934434
  
  电子邮箱:dxlwjsj@163.com
标题  基于C#实现基于UDP协议的点对点即时通信系统
编号  15075
编程语言  C#
开发环境  Visual Studio 2005 或 2008
数据库  
资料明细  毕业论文、程序
推荐指数  ★★★★★
论文内容

1引言
UDP是TCP/IP协议族中传输层的一个主要协议。与TCP协议比较,UDP具 有数据交换时所需的额外开销少、传输速度快等优点,其主要缺点是数据传输 时的可靠性差、提供的传输功能较少。UDP协议的特点使其特别适合那些具有实 时要求的应用,比如,视频会议、即时通信等。
随着.NET平台在Microsoft公司的大力推动和支持下,基于.NET平台的应用 程序势必会得到大量普及。本文采用.NET平台最具代表的开发语言——C#, 针对UDP协议进行编程,实现了点对点即时通信的功能。
2 c#中UDP的编程机制
UDP协议是一种无连接的协议:在数据传输之前,通信双方不需要建立连 接;在通信过程中,接收数据的一方也不需要发回确认信息。因此,对UDP的 编程只需考虑数据的发送和接收,其编程模型如图l所示。
C#中对UDP的编程有两种方式:
直接使用Socket类和使用UdpClient类。
UdpClient类对基础的Socket进行了封装,发送和接收数据时不必考虑底层套 接字收发时必须处理的一些细节问题,开发简单、效率较高。因此,本文将介 绍使用UdpClient类实现对UDP协议的编程。
2.1创建UdpClient类的实例
UdpClient类位于System.Net.Sockets命名空间下,提供了用于发送和接收无 连接UDP数据报的方法。创建UdpClient类的实例,即建立默认远程主机的方式 有如下两种:
2.1.1首先创建不带参数的UdpClient类的实例,然后调用Connect方法指定默 认远程主机。例如:
UdpClient udpClient=new UdpClient();
udpClient.Connect(”baidu.com”,11002);
2.1.2使用远程主机名和端口号作为参数创建UdpClient类的实例,格式如下:
UdpClient(string hostname,int port){
该函数初始化一个新的UdpClient,并使用hostname和port参数建立远程主机。例如:
UdpClient udpClient=new UdpClient(”baidu.com”,11000);
2.2 UdpClient对象发送数据的方法
UdpClient对象的Send方法用于将UDP数据报发送到远程主机,其函数形式有如下三种:
2.2.1 UdpClient.Send(byte[] ram,int bytes)
这种方法将把UDP数据报发送到在Connect方法中建立的远程主机。如果在 调用此方法之前未调用Connect,贝《Send方法将引发socketException异常。
2.2.2 UdpClient.Send(byte[] ram,int bytes,IPEndPomt endPoint)
这种方法用于已经知道了远程主机IP地址和端口的情况,其三个参数分别 为:数据、数据长度、远程主机对应的IPEndPoint(包括IP地址和端口信息)对象。
在调用此重载之前,首先必须使用要将数据报发送到的远程主机的IP地址和 端口号来创建一个IPEndPoint。如下例所示:
2.2.3 UdpClient.Send(byte[]daram,int bytes,stringhostname,int port)
这种方法将U DP数据报发送到指定的远程主机上的指定端口。
2.3 UdpClient对象接收数据的方法UdpClient对象的Receive方法用于 在指定的本地IP地址和端口上接收远程主 机发送的数据报。其语法格式如下:

说明
 以上是论文部分内容。如果对以上内容感兴趣,可以QQ:1095080675或邮件1095080675@qq.com继续联系我们。
相关文章
  •  教学辅导系统的设计与实现
  •  基于jxta的文件共享系统的设计与实现
  •  基于P2P技术的网络硬盘
  • 上一篇:基于C#.NET的小型管理信息系统的开发设计
  • 下一篇:基于C#的邮件管理系统的设计与实现