<span style="color: rgb(255, 0, 0); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">网络编程概述:</span>
网络编程是指编写与其它计算机进行通信的程序。Java已经将网络程序所需要的东西封装成不同的类。
只要创建这些类的对象,使用相应的方法,即使设计人员不具备有关的网络知识,也可以编写出高质量的网络通信程序。
1.网络模型
(1)OSI参考模型(2)TCP/IP参考模型
2.网络通讯要素
(1)IP地址(InetAddress已经封装成了对象)
1、网络中设备的标识
2、不易记忆,可用主机名
3、本地IP地址:127.0.0.1 主机名:Localhost。
(2)端口号(数字标识,没有必要封装成对象)
1、用于标识进程的逻辑地址,不同进程的标识。
2、有效端口:0~65535,其中0~1024系统使用或保留端口。
(3)传输协议
1、通讯的规则。
2、常见协议:TCP,UDP。
网络编程-IP地址
由于IP地址是一个复杂的事物,Java已经将它封装成了对象。
类 InetAddress
static InetAddress
getLocalHost()
返回本地主机。
String
getHostAddress()
返回 IP 地址字符串(以文本表现形式)。String
getHostName()
获取此 IP 地址的主机名。
static InetAddress
getByName(String host)
在给定主机名的情况下确定主机的 IP 地址。
网络编程-UDP-TCP
UDP 特点:(面向无连接)
1、将数据及源和目的封装在数据包中,不需要建立连接。(封包,无连接)
2、每个数据包的大小限制在64k内。(小数据)
3、因无连接,是不可靠协议。(不可靠,丢数据)
4、不需要建立连接,速度快。(速度快)
TCP 特点:(面向连接)
1、建立连接,形成传输数据的通道。(连接)
2、在连接中进行大数据量传输。(大数据)
3、通过三次捂手完成连接,是可靠协议。(可靠)
4、必须建立连接,效率会稍低。(速度慢)
网络编程-Socket(Socket也称套接字)
1、Socket就是为网络通信提供的一种机制。
2、通信的两端都有Socket。
3、网络通信其实就是Socket间的通信。
4、数据在两个Socket间通过IO传输。
网络编程——域名解析