java学习之网络编程
网络编程
让计算机与计算机之间建立连接进行通信。
网络模型
Osi:开方式系统互联,7层协议
物理层 :为物理设备之间的数据通信提供传输信号和物理介质(双绞线,光导纤维)
数据链路层:通过协议(差错控制)或规来控制数据传输的正确
网络层:定义能够标识所有网络节点的逻辑地址。
传输层:负责是否选择差错恢复协议,数据流重用。错误顺序重排
会话层:负责使用应用建立和维持会话,是通信在失效时继续恢复通信。
表示层:负责定义转换数据格式及加密,允许选择以二进制或ASCII格式传输
应用层:负责文件访问和管理,可靠运输服务,远程操作服务(HTTP,FTP,SMTP)
TCP/IP模型,一组用于实现网络互联的通信协议,将协议分成四个层次。
网络接口层:建立电路连接,是整个网络的物理基础,典型的协议包括以太网,ADSL等等
网络层:负责分配地址和传送二进制数据,主要协议是IP协议
传输层:传输文本数据,主要协议是TCP,UDP协议
应用层:传送各种最终形态的数据,是直接与用户打交道的层,典型协议是HTTP.FTP等
TCP/UDP协议
Tcp(传输控制协议):是一种面向课连接的,可靠的,基于字节流的传输层通信协议。数据大小无限制。建立连接需要的过程需要三次握手,断开连接的过程需要四次握手
UDP(用户数据报协议):是一种无连接的传输层协议,提供面象事物的简单不可靠信息传送服务,每个包大小64KB.
InteAddress类
表示互联网协议(IP)地址对象,封装了与IP地址相关的所有信息,并提供获取信息的常用方法
Socket编程
Socket(套接字)是网络中的一个通信节点。分为客户端Socket与服务器端ServerSocket,通信要求IP + 端口号
服务器端:
客户端:
Json:
采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
字符串数据结构: {key1:value1, key2:value2, ...}
特点:方便解析