文章目录
1、网络编程
概述:
(1)Java是Internet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用编程。
(2)Java提供网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java的本机安装系统中,有JVM控制,并且Java实现一个跨平台的网络库,程序员面对的是一个同意的网络编程环境。
目的:
(1)直接或间接地通过网络协议与其他计算机实现数据交换,进行通讯
主要问题:
(1)如何准确地定位网络上一台或多台主机;定位主机上的特定的应用
(2)找到主机后如何可靠高效地进行数据传输
解决办法:
(1)通信双方的地址:IP 和 端口号
(2)一定的规则: OSI参考模型 和 TCP/IP参考模型(事实上的国际标准)
2、网络通信要素
2.1、要素1:IP和端口号
- IP地址:InetAddress
(1)唯一的标识Internet上的计算机
(2)本地回环地址:127.0.0.1 主机名:localhost
(3)IP地址分类方式一:IPV4(四字节) 和 IPV6(16字节)
(4)IP地址分类方式二:公网地址(万维网)和私有地址(局域网)
(5)不易记忆 - 端口号-标识正在计算机上运行的程序
(1)不同的进程有不同的端口号:16位整数
(2)端口分类:公认端口=> HTTP:80, FTP:21, Telnet:23, 注册端口=> Tomcat:8080, Mysql:3306, Oracle:1521,动态/私有端口=>49152~65535 - 组合:网络套接字Socket
2.2、要素2:网络协议
- 计算机网络中实现通信必须有一些规定,即通信协议:对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准
- 使用分层的思想:同层之间可以互相通信、上一层可以调用下一层,与再下一层不发生关系
- 传输层:TCP=>传输控制协议,UDP=>用户数据报协议
- 网络层:IP=>支持网间互连的数据通信
- TCP/IP=>四层体系结构:物理链路层、IP层、传输层和应用层
2.2.1、面试重点:三次握手和四次挥手
2.2.2、套接字Socket
概述:
方法:
3、TCP网络编程
- 客户端
- 服务端
4、UDP网络编程
概述:
流程
发送端
接收端
5、URL编程
概述
构造器
常用方法