1.3 Socket网络通信编程(JAVA) 1.3.1Java网络基础知识 Java获得迅速推广的一个重要原因就在于强大的 网络能力,利用网络类,Java程序能够方便地访 问 nternet和 Wrold wide web上的资源。接入 nternet的计算机相互之间的通信要么采用TCP协 议要么采用UDP协议,这些是较低层次的协议。 当你编写Java网络程序时,是基于应用层的,不 需要考虑那些复杂的底层协议。 java. net类库包含 了你所需要的各种网络类,使用它们就可以编写 出基于TcP或UDP协议的网络程序
1.3 Socket 网络通信编程(JAVA) 1.3.1 Java 网络基础知识 Java获得迅速推广的一个重要原因就在于强大的 网络能力,利用网络类,Java程序能够方便地访 问Internet和Wrold Wide Web上的资源。接入 Internet的计算机相互之间的通信要么采用TCP协 议要么采用UDP协议,这些是较低层次的协议。 当你编写Java网络程序时,是基于应用层的,不 需要考虑那些复杂的底层协议。java.net类库包含 了你所需要的各种网络类,使用它们就可以编写 出基于TCP或UDP协议的网络程序
传输控制协议TcP( transmission control protocol)是元个基于连接的协议,可在两合相 连计算机之间提供可靠的数据流。当两台计算机 要传输信息时,需要建立一个可靠的连接以便发 送和接收。 用端口区分。 Internet传输的数据都带有地址,包 含了计算机和端口信息。计算机以32-bit护P地址 表示,端口用一个16-bt数表示,TCP和UDP就 是使用了这个端口数才能把数据发给正确的程序。 基子连接的TCP协议,服务器会把个套接学 ( Socke)和一个指定端口绑在一起,客户机连 接到这个端口就可接收所有指向这个端口的数据。 而基于数据报的UDP协议,每个数据包都包含 口数,UDP可以指引它们到达正确的应用程序
传输控制协议TCP(transmission control protocol)是一个基于连接的协议,可在两台相 连计算机之间提供可靠的数据流。当两台计算机 要传输信息时,需要建立一个可靠的连接以便发 送和接收。 用端口区分。Internet传输的数据都带有地址,包 含了计算机和端口信息。计算机以32-bit IP地址 表示,端口用一个16-bit数表示,TCP和UDP就 是使用了这个端口数才能把数据发给正确的程序。 基于连接的TCP协议,服务器会把一个套接字 (Socket)和一个指定端口绑在一起,客户机连 接到这个端口就可接收所有指向这个端口的数据。 而基于数据报的UDP协议,每个数据包都包含端 口数,UDP可以指引它们到达正确的应用程序
很多应用程序需要可靠的、按顺序的数据传输, 也有的应用程序不需要,因此在设计网络程序时 应正确选择网络类。URL、 URLConnection、 Socket和 ServerSocke类是基于TcP协议的,而 Datagram Packet、 Datagram Socket和 Multicastsocket类是基于UDP协议的 1.32URL编程 URL(统一资源定位符)代表着 nternet上的指 定资源。为浏览器指定了URL你就可以访问这个 资源。Java程序同样可以使用URL访问网络资源, java.he提供了URL类,可用它创建一个代表 URL地址的对象,通过对象就可以访问指定资源
很多应用程序需要可靠的、按顺序的数据传输, 也有的应用程序不需要,因此在设计网络程序时 应正确选择网络类。URL、URLConnection、 Socket和ServerSocket类是基于TCP协议的,而 DatagramPacket、DatagramSocket和 MulticastSocket类是基于UDP协议的。 1.3.2 URL编程 URL(统一资源定位符)代表着Internet上的指 定资源。为浏览器指定了URL你就可以访问这个 资源。Java程序同样可以使用URL访问网络资源, java.net提供了URL类,可用它创建一个代表 URL地址的对象,通过对象就可以访问指定资源
例1-8利用URL访问网站,如下图所示。 Applet viewer: GoHome □区 Applet Java: Yahoo Applet已被启动
• 例1-8利用URL访问网站,如下图所示
import java.awt. *, import java. awt event.* import java. net. import java applet Applet; class Home Button extends Button t String name; URL home. HomeButton(String name, String site)i setLabel(name); try i
import java.awt.*; import java.awt.event.*; import java.net.*; import java.applet.Applet; class HomeButton extends Button { String name; URL home; HomeButton(String name, String site) { setLabel(name); try {