网络编程
概述
Java是 Internet 上的语言,它从语言级上提供了对网络应用程 序的支持,程序员能够很容易开发常见的网络应用程序。
Java提供的网络类库,可以实现无痛的网络连接,联网的底层 细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并 且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一 的网络编程环境。
网络通信
通信之IP地址
通信双方地址
a)IP
b)端口号
一定的规则(即:网络通信协议。有两套参考模型)
c)OSI参考模型:模型过于理想化,未能在因特网上进行广泛推广
d)TCP/IP参考模型(或TCP/IP协议):事实上的国际标准。
2.1.通信要素1:IP地址
lIP 地址:InetAddress
唯一的标识 Internet 上的计算机(通信实体)
本地回环地址(hostAddress):127.0.0.1 主机名(hostName):localhost
IP地址分类方式1:IPV4 和 IPV6
üIPV4:4个字节组成,4个0-255。大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽。以点分十进制表示,如192.168.0.1
üIPV6:128位(16个字节),写成8个无符号整数,每个整数用四个十六进制位表示, 数之间用冒号(:)分开,如:3ffe:3201:1401:1280:c8ff:fe4d:db39:1984
IP地址分类方式2:公网地址(万维网使用)和私有地址(局域网使用)。192.168. 开头的就是私有址址,范围即为192.168.0.0--192.168.255.255,专门为组织机 构内部使用
特点:不易记忆
通信之端口号
网络协议
TCP
概述
Socket
利用套接字(Socket)开发网络应用程序早已被广泛的采用,以至于成为事实 上的标准。
l网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标 识符套接字。
l通信的两端都要有Socket,是两台机器间通信的端点。
l网络通信其实就是Socket间的通信。
lSocket允许程序把网络连接当成一个流,数据在两个Socket间通过IO传输。
l一般主动发起通信的应用程序属客户端,等待通信请求的为服务端。
lSocket分类:
流套接字(stream socket):使用TCP提供可依赖的字节流服务数据报套接字(datagram socket):使用UDP提供“尽力而为”的数据报服务
常用方法
Socket类的常用构造器:
public Socket(InetAddre