1 / 66
文档名称:

网络编程.pdf

格式:pdf   页数:66页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

网络编程.pdf

上传人:yixingmaob 2016/6/25 文件大小:0 KB

下载得到文件列表

网络编程.pdf

相关文档

文档介绍

文档介绍:套接字编程编写网络应用程序是程序设计中最有趣的领域之一。眼看着自己编写的程序成功地通过网络实现了通信,这是特别令人振奋的。在这一章里,我们将使用 TCP/IP 建立一个类似于 Windows Live Messenger (或 ICQ )的聊天程序。通过这个聊天程序, 中进行网络编程,并了解建立多用户聊天程序时会遇到的种种挑战。 套接字编程介绍套接字(socket )是网络计算机与应用程序之间发送和接收数据的方式的一种抽象描述。它描述了(可能在不同的计算机上,也可能在同一台计算机内的)两个通信点之间的连接。在实际操作中,套接字编程往往与 TCP/IP 和 UDP/IP 通信相结合(关于 TCP/IP 和 UDP/IP 的更多信息参见下面的“理解 IP 、 TCP 和 UDP ”) 。论及套接字编程时,以下 3 类信息是很重要的: ? 协议(如 TCP/IP 或 UDP/IP ) 。? IP 地址(例如 ) 。? 端口号(例如端口 80 ) 。举例来说,对于 http//地址,你应该比较熟悉,这个地址用来指示 Web 浏览器加载位于。 http 指定了使用的应用协议( HTTP 使用 TCP/IP 传输数据) ,地址(名称 DNS 服务器解析成一个 IP 地址) 。由于 HTTP 使用端口 80进行通信,端口号 80被隐式地指明,故没有出现在地址里。如图 1-1 所示,通信的双方都必须拥有 IP 地址。图 1-1 Web 浏览器和网络服务器之间的通信第1章 HTTP(TCPIP) 端口 80 HTTP(TCPIP) .) 端口 80 2 第 1章 套接字编程尽管有 TCP/IP 这样的协议负责把数据从一个点传输到另一个点,但所传输数据的内容则需由诸如 HTTP 这样的应用协议来指定。 Framework 里,套接字通信由 Socket 类来实现( 命名空间) 。理解 IP 、 TCP 和 UDP 对于网络编程来说,深入地理解当下正在使用的一些常见网络协议是很重要的。首先是网际协议( Protocol , IP ) 。 IP指定了从一个点传送到另一个点的数据分组(如数据报 datagrams )的格式和寻址方案。假设 IP是一种邮递系统,你可以通过它把邮件从一个地方寄到另一个地方。你只需写上收件者地址并把邮件丢进邮箱里。随后邮局会试图把邮件投递给收件人。但是,你不能确定你的邮件肯定会到达目的地,也不会知道它究竟何时到达。为了确保邮件被正确地投递,你必须使用额外的服务,比如挂号信。与上述情形类似,我们需要将其他协议与 IP 联合使用, 以保证数据分组传送无误。传输控制协议(Transmission Control Protocol , TCP )正是这样一种协议。 TCP 是一种面向连接的网络协议,它(通过应答机制)保证数据分组可靠并有序地传送。作为流行的网络协议,与 IP协同工作的 TCP 已被 Web 浏览器和电子邮件客户这样的应用程序广泛采用。 TCP 确保了传送的正确性,但它也有不便的地方。正如要花更多的钱来寄送的挂号信一样, TCP 给被发送的数据分组加上了额外的报头,增大了分组的尺寸。因此,开发人员有时会将用户数据报协议( User Datagram Protocol , UDP )与 IP 联用。 UDP 是一种无连接的网络协议,同样把数据分组从一点发送到另一个点,只有一个例外——它并不提供可靠的、有保障的传送。由于UDP 不对传送提供保障,数据分组将包含更多的有效信息并能更快地传送。使用 UDP 的开发人员必须建立自己的逻辑以确保数据分组的正确传送。这也与邮寄的例子很相似:你可以自己给收件人打电话,看他们是否已经收到你寄的邮件。如果他们没有收到,你可能需要重新寄。对于那些传送小数据分组且不需要数据精确组装的应用程序来说, UDP 是非常有用的。这类程序包括简单文件传输协议(Trivial File Transfer Protocol , TFTP ) 、域名系统(Domain Name System , DNS )以及语音 IP (Voice over IP ,VoI P ) 。 创建自己的多用户聊天应用程序在本章的这一部分,我们将首先建立一个简单的聊天程序,它允许连接到中央服务器的任何人互相进行通信。这样可以让你探索套接字通信的基本原理,并学****如何向所有已连接的用户广播消息。图 1-2 展示了本章的这一部分将要的建立的应用程序。 创建自己的多用户聊天应用程序 3 图 1-2 即将创建的聊天程序 为网络通信使用 TcpClient