欢迎来到天天文库
浏览记录
ID:36206273
大小:277.00 KB
页数:16页
时间:2019-05-07
《java开发葵花宝典》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第26章网络编程基础本章主要讲述网络编程的基础知识,其中包括TCP和UDP的使用,并通过实例学习如何使用它们进行编程。随着互联网等各种网络的兴起,网络程序开发就成为热门应用,Java把将进行网络程序设计所需要的所有东西都对象化,使得网络编程更加轻松。26.1网络基础知识在讲述如何进行网络程序开发之前,先讲述一些有关网络的基础知识。为了使两台计算机之间能够通信,必须为这两台电脑建立一个网络,将这两台计算机进行连接,把其中一台用作服务器,另一台作客户机。那什么是服务器?什么又是客户机?服务器就是能够提供信息的计算机或程序。客户机是指请求信息的计算机或程序。有的时候很难区分服务器和客户机
2、,因为很多信息都是互相请求、互相提供信息的。(具体内容请参照本书)26.2TCP与UDPTCP(TransmissionControlProtocol)就是传输控制协议,其和IP协议一起使用。一般会将两者合在一起,称TCP/IP。TCP协议负责数据或文件的分组与重组,而IP协议负责发送和接收数据包。数据或文件在网络上传输的时候,会被分成许多块,称之为包。UDP(UserDatagramProtocol)就是数据包协议,它也跟IP协议一起使用。与TCP协议相比较有很多类似的地方。但是,它不对连接状态与数据丢失作检查,只是保证数据发出去了,例如,平时上网所使用的电子邮件或者聊天时的QQ
3、、MSN等。它们都可以非在线发消息,而这一点与TCP不同。TCP需要对对方是否收到以及数据的完整性作检查。(具体内容请参照本书)26.3端口与套接字什么是端口,什么是套接字?下面将围绕这两个概念进行讲述。网络程序设计中的端口(port)并非真实物理存在的,而是一个假想的连接器。计算机提供了很多种服务,例如Http、Ftp、Dns等等。那么客户机必须明确的直到自己要连接的是服务器上哪一个服务,是Http、Ftp或者是Dns。为此就引入了一个端口的概念。端口被规定为一个在0~65535之间的整数。Http服务一般使用80端口,Ftp使用的是21端口,那么客户必须通过80端口才能连接到服
4、务器的Http服务,而通过21端口,才能连接到服务器的Ftp服务器上。(具体内容请参照本书)26.4TCP程序设计基础Java中的TCP网络程序设计是指利用Socket类,编写通信程序。TCP程序设计的一个过程是:服务器的套接字等待客户机连接请求,并创建新的套接字,使其与客户机的套接字连接,而本身继续等待其他客户机的连接请求。26.4.1如何设计TCP的程序下面看看几个与TCP程序设计有关的类。1.与IP相关的InetAddress类应用2.服务器套接字应用3.套接字实现26.4.2一个简单的例子下面演示一个Socket类和ServerSocket类的应用实例。(具体内容请参照本书
5、)26.5UDP程序设计基础本节介绍如何针对UDP进行网络程序设计。通过对设计UDP程序,可以将UDP与TCP程序设计进行比较。分析两种截然不同的网络通信方式的编写代码的方式有何不同。其实网络编程的关键,还是要理解UDP或者TCP程序执行的步骤,这是网络编程的基本点。25.5.1如何设计UDP的程序在这里总结编写UDP程序的步骤:(具体内容请参照本书)25.5.2一个简单的例子本节演示一个UDP的设计实例,代码如下。(具体内容请参照本书)26.6如何设计网络程序上面一节中讲述了如何设计TCP程序和UDP程序,本节主要讲述如何将网络编程,应用到实际工作的开发中去。26.6.1单向通讯
6、综合实例下面举一个单向通信的实例。这个实例用来实现客户机向服务器发送字符串功能。由于只要求客户机向服务器发送消息,不用服务器向客户机发送消息,所以称为单向通信。客户机套接字和服务器套接字连接成功后,客户机会通过输出流发送数据,而服务器会使用输入流接收数据,下面是具体的实例代码。(具体内容请参照本书)26.6.2双向通讯综合实例上节介绍了客户机向服务器发送数据的单向通信,本节将介绍服务器和客户机相互发送数据的双向通信,其程序代码在上一小节的代码基础上有所改变,读者可以比较两者的区别。(具体内容请参照本书)26.7常见疑难解答(具体内容请参照本书)26.7.1TCP和UDP的区别答:U
7、DP不提供可靠的数据传输,事实上,该协议不能保证数据准确无误的到达目的地。UDP在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用UDP。ICQ短消息使用UDP协议发送消息。TCP的目的是提供可靠的数据传输,并在相互进行通信的设备或服务之间,保持一个虚拟连接。TCP在数据包接收无序、丢失或在交付期间被破坏时,负责数据恢复。它通过为其发送的每个数据包提供一个序号来完成此恢复。记住,较低的网络层会将每个数据包视为一
此文档下载收益归作者所有