正文

C#通讯编程步步高(一)2007-05-29 21:35:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/tujun/26245.html

分享到:

 

2. UDP

UDP协议是一种无连接的,不可靠的通讯模式,所谓不可靠,即它不保证数据能准确的发送到对方,因此使用它的时候必须考虑数据包丢失的情况. 使用UDP的场合一般是对数据包能否到达对方没有严格要求,只在乎数据能快速的到达对方.据我使用UDP协议编程的经验,UDP传输对服务器的压力最低,也就是服务器的开销最少,这对于需要处理海量连接的服务器而言,优势不言而喻.

由于UDP协议的无连接传输,也就是UDP协议在发送数据包之前不需要和对方建立连接,所以在使用UDP协议传输数据时要考虑数据确认的问题,因为发送方并不清楚目的计算机是否接收到了数据,或是数据包在传输过程中被丢弃.

UDP协议的通讯过程十分简单:发送方直接将数据发送到目标计算机的地址和端口即可.在C#中,UDP Socket在发送数据之前需要绑定一个本地端口或者用Connect方法连接目标计算机端口(事实上,这个方法并没有进行连接,它只是决定之后用这个Socket发送时是否需要提供远程主机的地址端口).

二.C#中的与Socket通讯相关的命名空间和类

1.System.Net命名空间:

这个命名空间提供了通讯协议的接口.

.Net Framwork SDK文档对这个命名空间的描述:System.Net 命名空间为当前网络上使用的多种协议提供了简单的编程接口。WebRequestWebResponse 类形成了所谓的可插接式协议的基础。可插接式协议是网络服务的一种实现,它使您能够开发出使用 Internet 资源的应用程序,而不必考虑各种不同协议的具体细节。

2.System.Net.Sockets命名空间:

这个命名空间提供了构造Socket需要的类.

.Net Framwork SDK文档对这个命名空间的描述:

System.Net.Sockets 命名空间为需要严密控制网络访问的开发人员提供了 Windows Sockets (Winsock) 接口的托管实现。

TCPClientTCPListenerUDPClient 类封装有关创建到 Internet 的 TCP 和 UDP 连接的详细信息。

3.Socket编程常用的类:

(1) IPAddress类:

IPAddress类实现对IP地址的对象化封装.

常用方法和常量:

a.Parse:静态方法.转换字符串形式的IP地址为IPAddress对象:

IPAddress adress = IPAddress.Parse("127.0.0.1");

b.Any:类常量:代表本地所有地址,相当于IP地址的"0.0.0.0",Socket进行监听时,使用此地址Socket将监听本地计算机所有的IP地址.

(2) IPEndPoint类:

IPEndPoint类是抽象类EndPoint的实现,它封装了IP地址节点信息,使用Socket连接,发送数据都需要用到这个类.

a.IPEndPoint构造函数:

public IPEndPoint(IPAddress, int);

public IPEndPoint(long, int);

 

待续..

阅读(4105) | 评论(4)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册