计算机网络:
把分布在不同地理区域的具有独立功能的计算机,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
网络编程有三个要素分别是:IP地址、端口号和通信协议.
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址.网络中的计算机使用IP地址来进行唯一标识.
端口号是计算机中的应用程序的一个整数数字标号,用来区分不同的应用程序。0 ~ 1024 未被系统使用或保留的端口号,0 ~ 65535为有效的端口号,也就是说我们要对一些程序定义端口号的时候,要选择1024 ~ 65535范围内的整数数字
网络通信协议是计算机网络中实现通信必须有一些约定,即通信协议,对速率、传输代码、代码结构、 传输控制步骤、出错控制等制定标准。
传输层协议中有两个非常重要的协议:
● 传输控制协议TCP(Transmission Control Protocol)
● 用户数据报协议UDP(User Datagram Protocol)。
TCP
使用TCP协议前,须先建立TCP连接,形成传输数据通道
传输前,采用“三次握手”方式,是可靠的
TCP协议进行通信的两个应用进程:客户端、服务端
在连接中可进行大数据量的传输
传输完毕,需释放已建立的连接,效率低
在断开时要进行“四次挥手”
UDP
• 将数据、源、目的封装成数据包,不需要建立连接
• 每个数据报的大小限制在64K内
• 因无需连接,故是不可靠的
• 发送数据结束时无需释放资源,速度快
TCP编程
● 通信的两端都要有Socket,是两台机器间通信的端点
● 网络通信其实就是Socket间的通信。
● Socket允许程序把网络连接当成一个流,数据在两个Socket间通过IO传
输。
UDP编程
● 流 程:
- DatagramSocket与DatagramPacket
- 建立发送端,接收端
- 建立数据报
- 调用Socket的发送、接收方法
- 关闭Socket
● 发送端与接收端是两个独立的运行程序