黑马程序员——网络编程
1.网络通讯要素:
(1)找到对方的IP地址
(2)数据要发送到对方指定的应用程序上。为了标识这些
应用程序,给小河蟹应用程序都用数字进行标识。
为了方便称呼这些数字,称为端口
(3)定义通信规则,这个规则称为协议,国际组织定义了通用协议TCP/IP
2.网络模型:
应用层:HTTP,FTP等
传输层:UDP,TCP等
网际层:IP
3.UDP传输和TCP传输的区别:
UDP:将数据源和目的封装成数据包,不需要建立连接
每个数据报大小限制在64k内
因为无连接,是不可靠协议
不需要建立连接,速度快
TCP:建立连接,形成传输数据的通道
在连接中进行大数据量传输
通过三次握手完成连接,是可靠协议
必须建立连接,效率会稍低
4.UDP传输分为发送端和接收端:
(1)发送端:
*建立udpsocket服务
*提供数据并把数据封装到数据包中
*通过socket服务的send方法将数据发送出去
*关闭资源
(2)接收端:
* 定义udpsocket服务
*定义一个数据包,用来存储接收到的字节数据,因为数据报中
* 有更多的方法提取数据包种的各种信息
*通过socket服务的receive方法将接受到的数据存入已经定义好的数据包中
*通过数据包对象的方法提取数据
*关闭资源
5.TCP传输分为客户端和服务端
(1)客户端:
* 创建客户端socket服务,指定目的主机和端口
*为了发送数据应该获取socket流中的输出流
*定义socket读取流,获取服务端返回的信息
* 关闭资源
(2)服务端:
*建立服务端的socket服务:ServerSocket,并监听一个光端口,
* 获取连接过来的客户端对象
* 通过ServerSocket的accept方法获取客户端Socket,没有连接就等,所以这个方法是阻塞式的。
* 客户端如果发送过来数据,那么服务端要使用对应的客户端对象,并获取到该客户端的读取流来读取发送过来的数据
* 关闭资源(可选)