.NET 网络编程
网络:
Framework在Syatem.Net.*命名空间中包含各种支持标准网络协议通信的类,例如HTTP、TCP/IP和FTP
主要组件:
- WebClient:支持HTTP和FTP执行简单的上载/下载
- WebRequest和WebResponse:支持更多的客户端HTTP或FTP
- HttpListener:可编写HTTP服务器
- SmtpClient:支持通过SMTP创建和发送邮件
- Dns:支持域名和地址直接的转换
- TcpClient、UdpClient、TcpListener和Sockets:支持传输层和网络层直接访问
Framework只要支持Internet协议、但是他的功能不仅限于Internet连接,注入TCP/IP等协议也可以广泛用于局域网。
网络体系结构
如上图:.NET 网络连接类型以及它们所在的通信层。大多数都位于传输层和应用层。传输层顶楼发送和接收字节的基础协议(TCP和UDP)
应用层测定义支持特定应用程序的上层协议,例如获取Web页面(HTTP)、传输文件(FTP)、发送邮件(SMTP)、和域名与IP地址转换(DNS)
通常,在应用层编程是最方便的,然后,有一些原因要求我们必须直接在传输层上进行操作,例如放需要一种FrameWork不支持应用层协议(例如P0P3)来接收文件时
此外当需要为某个特殊应用程序(例如对等客户端)发明一种自定义协议时,也是如此。
HTTP属于应用层协议,它专门用于扩展通用的通信。他基本运行方式是“请给我这个URL的网页”,可以很好的理解为"返回使用这些参数调用这个方法的结果值"。
HTTP具有丰富的特性、他们在多层业务应用程序和面向服务的体系结构是非常有用的,例如验证和加密协议。消息组块、可扩展头信息和Cookies,并且多个服务器可以共享一个端口和IP地址。因此,HTTP在Framework中得到很好的支持。