1:所谓的Socket
所谓的Socket:本质上就是位于传输层的一个插口:socket的英文就有插座:插口的意思,所以在进行Java网络编程的时候:就像你拿这一个插头去找插座(ip地址),插座上就有许多插口,你插上你需要的插口(端口)。Socket本质上就是一个位于传输层的一个插口,即所谓的套接字。
eg:你可以利用ServerSocket建立TCP服务器,服务器监听指定端口。利用Socket建立客户端连接到指定服务器的指定端口后,双方通讯后就可以通过Io流进行数据传输了。同理你可以利用DatagramSocket建立UDP的发送端,和接收端。
2:网络编程的本质
网络编程:通过Socket编程实现数据通信,数据通信的本质就是数据传输。所以在建立了通讯联系之后,其他的操作就是通过IO流实现数据传输。
3:计算机网络的基础知识
(1):网络的主要功能
实现资源共享
信息传输与集中处理
均衡负荷与分布处理
综合信息服务
(2)通信协议:实现双方通讯所指定的一些规则和标准。
组成
语义部分:用于决定双方的对话类型
语法部分:用于决定双方的对话格式
变化规则:用于决定双方的应答关系
(3):OSI分层协议
功能 层数
TCP和OSI参考模型的对应关系‘
网络之间的通讯
从图中可以知道。网络之间建立底层之间后,层与层之间的交流就是根据协议加包和拆包。
数据传输就是:IP+端口+协议(TCP/UDP)
( 1)I P:根据IP地址帮你找到网络中所对应的主机---------------->Java里面用InetAddress实现。
(2)端口:确定主机进程的逻辑地址--------------->用一个int数字表示。
(3)协议:传输的规则:--------------------重点:Socket():后面博客会通过TCP和UDP分开来讲。
----本文是自己的学习总结:用词和表达上可能不太准确,只是为了记录自己的想法和学习总结。有什么描述性错误,请大家指正。