高级程序设计语言(Java版)12_网络编程

时间:2026-01-10

12.1网络基本知识12.2 URL编程

12.3 TCP编程12.4 UDP编程 12.5习题

12.1.1计算机网络基本概念

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

目前有两类非常重要的体系结构:OSI与TCP/IP。TCP/IP协议族的体系结构如图12-1所示:

应用层:

telnet、ftp、http、DNS等

传输层:

TCP和UDP等

网络层:网络接口和物理层:

IP、ICMP、IGMP等

以太网、令牌环网、FDDI等

图12-1 TCP/IP协议族的体系结构

1. IP地址 IP是英文Internet Protocol的缩写,意思是

“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。在

Internet中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计

算机在因特网上进行通信时应当遵守的规则。

2.端口计算机“端口”是英文port的意译,可以认为是计算机与外界通讯交流的出口。如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有 65536个之多。端口是通过端口号来标记的,端口号只有整数,范围是从0到65535(2^16-1)。

常见的Internet服务即其对应的端口号如表 12-1服务与端口对应表所示:服务端口号服务端口号

ftptelnet DNS http

2123 53 80

smtpnntp POP3

25119 110

3. TCP协议所有使用或实现某种Internet服务的程序都必须遵从一个或多个网络协议。这种协议很多,

而IP(Internet Protocol,Internet协议)、TCP(Transport Control Protocol,传输控

制协议)、UDP(User Datagram Protocol,用户数据报协议)是最为根本的三种协议,

是所有其它协议的基础。

4. UDP协议UDP的全称是User Datagram Protocol,其中 Datagram是一种自带寻址信息的、独立地从数据源走到终点的数据包。UDP不保证数据的传输,也不

提供重新排列次序或重新请求功能。与TCP的有连接相比,UDP协议是一种无连接协议,两台计算机之

间的传输类似于传递邮件:消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接。另外,单次传输的最大数据量取决于具体的网络。

5. C/S工作模式目前客户端/服务器模式(Client/Server,缩写为 C/S)和浏览器/服务器模式(Browser/Server,缩

写为B/S)是较为流行的网路通信模式。客户端程序在需要服务时想服务器提出服务申请,服务器端程序

则等待客户提出服务请求,并予以相应。服务器端程序始终运行,侦听网络端口,当有

客户请求,就会启用一个服务进程来响应该客户端的请求,同时继续侦听网络端口,准备为其他客户请求提供服务。C/S工作模式如下图12-2所示:

服务器

侦听请求

接受请求

处理请求

发送请求

发送处理结果

客户端

图12-2 C/S工作模式

12.1.2 Java网络编程技术

Java语言提供了用于网络通信的http://www.77cn.com.cn包,包含了多个用于各种标准网络协议通信的类和接口。主要有URL编程技术、TCP编程技术、UDP编程技术。 URL表示的是Internet上某个资源的地址。通过URL标识,可以直接使用各种通信协议,如http、ftp等获取远端计算机上的资源信

息。

TCP是可靠连接通信技术,它主要使用套接字(Socket)机制。 TCP编程技术是目前实现C/S工作模式应用程序的主要方式。 UDP是无连接的快速通信技术,它使用UDP协议,不需要建立连接,通信时所传输的数据报能否到达目的地。到达的事件等都不能准确知道,因此,被称为无连接通信。

12.2.1 URL类【实例12-1】URLTest.java import http://www.77cn.com.cn.*; import java.io.*; public class URLTest// extends Applet

{public void testOperate(){ try{

InetAddress address= InetAddress.getLocalHost();log("本机地址字符串:"+ address.getHostAddress()); log("本机主机名:"+ address.getHostName());

log("本机主机名:"+ address.getLocalHost()); log("哈希码:"+ address.hashCode()); byte b[]= address.getAddress();

System.out.println("字符形式:"+ b);log("地址字符串:"+ address.toString());} catch (Exception e){

// e.printStackTrace("不能打开这个URL");}}

public void log(String strInfo){System.out.println(strInfo);} public static void main(String args[]){ URLTest IAdd= new URLTest (); IAdd.testOperate();

运行结果:本机地址字符串:192.168.1.100

本机主机名:zxc-pc本机主机名:zxc-pc/192.168.1.100

哈希码:-1062731420字符形式:[B@de6ced

地址字符串:zxc-pc/192.168.1.100

12.2.2 URLConnection类【实例12-2】URLConnectionTest.javaimport java.io.IOException; import http://www.77cn.com.cn.URL; import http://www.77cn.com.cn.URLConnection; import java.util.Scanner; public class URLConnectionTest{ public static void main(String[] args){ try{

URL url= new URL("http://www.77cn.com.cn");URLConnection connection= url.openConnection();

connection.setDoInput(true);connection.setDoOutput(true); connection.connect();

…… 此处隐藏:896字,全部文档内容请下载后查看。喜欢就下载吧 ……
高级程序设计语言(Java版)12_网络编程.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219