面向网络编程
计算机网络
把分布在不同地方的计算机通过通信设备连接起来,通过软件实现资源共享。
网络编程
Java语言支持网络,Java语言把网络实现细节封装成不同的类,使用这些类,开发的程序,就可以实现网络间数据传输。
ServerSocket 服务器端
Socket 客户端
网络编程的核心要素
-
如何精准的找到网络中的某台主机(通过IP+端口号)
-
找到后如何可靠高效的进行高效的传输(网络传输协议,TCP,UDP)
OSI七层模型
应用层/表示层/会话层/运输层/网络层/链路层/物理层
TCP/IP模型
网络接口层/网际层/运输层/应用层
TCP
三次握手,建立连接
标志位(Flags):共6个,即URG、ACK、PSH、 RST、SYN、FIN,
具体含义如下: URG:紧急指针(urgent pointer)有效。
ACK:确认序号有效。
PSH:接收方应该尽快将这个报文交给应用层。
RST:重置连接。
SYN:发起一个新连接。
FIN:释放一