计算机网络
把分布在不同区域的具有独立功能的计算机通过通信设连接备起来,最终实现资源共享,信息互通。
网络编程是干什么?
写的程序是支持网络间相互交互的. QQ 微信.....
java语言把底层实现细节都封装起来,提供网络库,使用这些类就可以实现java程序支持网络通信.
网络模型
OSI参考模型
TCP/IP 四层模型
网络通信要素
如何找到计算机网络中的某一台主机 ip(计算机)+端口(程序) 127.0.0.1/ 192.168.31.132:8080
找到主机后,如何安全高效传输数据
http/ftp应用层协议
通信协议: 通信双方有一定的约束(规则), 对传输的内容格式,速率,出错后如何解决等进行定义.
传输层
TCP:传输控制协议TCP(Transmission Control Protocol)
是安全可靠的,有客户端和服务器端
传输数据前,先要"三次握手",保证网路是通畅的
然后进行数据传输
断开连接时要进行"四次挥手"
UDP:用户数据报协议UDP(User Datagram Protocol)
将数据,源,目的等封装在一个数据报中.
无需建立连接
发送速度快,但不可靠
java如何实现网络编程
TCP实现
Socket 客户端
ServerSocket 服务端 端口 1024 ~ 65535 不能使用已有的端口
UDP实现
DatagramSocket 发送/接收数据
DatagramPacket 封装数据的数据报