第10章网络编程
武汉大学计算机学院计算机应用系
9/8/2018 09:19
1
了解网络的基本通信机制和协议
深入理解Java实现客户/服务计算模式的机制
熟练掌握Socket类和ServerSocket类的使用
熟练掌握如何使用Socket类和ServerSocket进行分布式计算
本章学习要点
2
网络编程的基础知识
Java是一门非常适合于进行分布计算环境的语言,网络应用是Java语言的重要应用之一,Java一条语句相当于其他语言的数页代码
TCP/IP(传输控制协议/网间协议)的主要协议,定义了计算机和外设进行通信所使用的规则(应用层,传输层,网络层,链路层)
IP地址:TCP/IP网络中的每台计算机都有唯一的地址--IP地址.
3
IP地址
Address类来描述IP地址。这个类没有一个公共的构造方法,Address类的对象,Address类的静态方法:
· GetLocalHost() Address。
· GetByName() Address。
· getAllByName() 对于某个主机有多个IP地址(多宿主机),可用该方法得到一个IP地址数组。
此外,Address的实例可以使用:
· getAddress() 获得一个用字节数组形式表示的IP地址。
· getHostName() 做反向查询,获得对应某个IP地址的主机名。
4
IP地址
例:获取本机的IP地址
import .*;
public class getLocalHostTest
{ public static void main(String args[])
{ InetAddress myIP=null;
try {myIP=();}
catch(UnknownHostException e){ }
(myIP);
}
}
getLocalHostTest
5
IP地址
下面的例子演示java如何根据域名自动到DNS上查找IP地址(与DNS服务器的连接减至一行)
import .*;
public class getIP
{ public static void main(String args[])
{ InetAddress whu=null;
try{
whu=(“”);
}catch(UnknownHostException e) {}
(whu); }
}
getIP
6
服务
端口号
端口号
服务
23 nntp 119
ftp 21 www 80
DNS 53 POP3 110
端口
端口(port)是计算机输入输出信息的接口。也需要一个端口,这个端口是一个由16位数标识的逻辑端口。它是TCP/IP协议的一部分,每种服务定义了一个端口, 根据这个端口号提供不同的服务。上的每个计算机都有10000个逻辑端口号,其中1024以内的端口号几乎都分配给特殊服务功能。因此,要建立新的应用,不应使用这个范围内的端口号。
7
套接字
在提供访问TCP/IP协议的通信方法时,Java使用了TCP/IP套接字机制,并用一些类实现了套接字中的概念。它能够提供在一台处理机执行的应用与另一台处理机上执行的应用之间进行连接的功能。一个抽象的Socket由保存通信信息的数据结构和对Socket结构进行操作的系统调用组成。
一个Socket创建之后,如果是主动的Socket则用来产生连接,如果是被动的Socket则用来等待连接。包中找到,其中包括最重要的Socket类和ServerSocket类。Java提供Socket和ServerSocket类作为用于Socket程序设计,程序员可以使用Socket类创建一个到某个主机的标准Socket连接,并通过这个连接读取和写入数据。
8
套接字
下图说明了套节字、端口和IP地址之间的关系。图中的格子代表前面所述的逻辑端口,黑色的格子代表Socket连接正在使用的两个逻辑端口。
9
协议
在讨论网络的连接机制时,还需要说明在网络上传输哪种数据类型、怎样解释这些数据类型以及怎样请求传输这些数据,这些都是经过网络协议来规定的。协议是描述数据交换时所必须遵循的规则和数据格式。
中控制各种复杂服务的协议,。
其中最重要的协议有:
· http 用于请求Web页面和传送Web页面。
· ftp 用于文件传输
java课件-第10章 来自淘豆网m.daumloan.com转载请标明出处.