目录
⼀、Java网络编程
1. 计算机网络相关概
计算机⽹络是两台或更多的计算机组成的⽹络,同⼀⽹络内的任意两台计算机可以直接通信,所有计算机必须遵 循同⼀种⽹络协
2.网络编程三要素
1)IP地址 :
想让⽹络中的计算机能够互相通信,必须为每台计算机指定⼀个标识号,通过这个标识号来指定要接收数 据的计算机和识别发送的计算机,而IP地址就是这个标识号。也就是 设备的标识 。
2)端口:
⽹络的通信,本质上是两个应⽤程序的通信。每台计算机都有很多应⽤程序,那么在⽹络通信时,如何区分 这些应⽤程序呢?如果说IP地址可以唯⼀表⽰⽹络中的设备,那么端口号就可以唯⼀标识设备中的应⽤程 序了。也就是 应⽤程序的标识 。
⽤两个字节表⽰的整数,它的取值范围是0-65535。其中,0-1023之间的端口号⽤于⼀些知名的⽹络服务和 应⽤,普通的应⽤程序需要使⽤1024以上的端口号。如果端口号被另外⼀个服务或应⽤所占⽤,会导致当前 程序启动失败
3)协议:
通过计算机⽹络可以使多台计算机实现连接,位于同⼀个⽹络中的计算机在进⾏连接和通信时需要遵守⼀ 定的规则,这就好⽐在道路中⾏驶的骑⻋⼀定要遵守交通规则⼀样。在计算机⽹络中,这些连接和通信的规 则被称为⽹络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统⼀规定,通信双⽅必须同时遵 守才能完成数据交换。常⻅的协议有UDP协议和TCP协议。
I.TCP(Transmission Control Protocol)协议是⼀个传输控制协议,建⽴再IP协议之上,IP协议负责传输 数据包,TCP协议负责控制传输数据包;TCP协议传输之前需要先建⽴连接,然后才能传输数据,传输完成 后断开连接;TCP协议是⼀个可靠传输协议,他通过接收确认,超时重传实现;TCP协议⽀持双向通信,双 ⼀、Java⽹络编程 AAA教育做⾏业的引领者 4/14 ⽅可以同时传输和接收数据。
II.UDP(User Datagram Protocol)协议是数据报⽂协议,不⾯向连接,不保证可靠传输,由于UDP协议传 输效率⾼,通常⽤来传输视频等能容忍丢失部分数据的⽂件。
3.Socket
Socket通常称为套接字,⽤于应⽤程序之间建⽴远程连接,Socket内部通过TCP/IP协议进⾏数据传输,可以简单 的理解为对IP地址和端口号的描述。Socket接口是由计算机操作系统提供的,编程语⾔提供对Socket接口调⽤的 封装。通常计算机同时运⾏多个应⽤程序,仅仅有IP地址是⽆法确定由哪个应⽤程序接收数据,所以操作系统抽象 出Socket接口,每个应⽤程序对应不同的socke(t 每个⽹络应⽤程序分配不同的端口号)。
Socke