网络编程

对象流:操作对象的

//1.操作1

step1:先构建了Person类,创建p1对象

step2:让Person类实现Serializable接口,"贴标签"

step3:ObjectOutputStream写对象出去到person.txt中

序列化

step4:ObjectInputStream将对象读回来:Object-->p1

反序列化

//2.操作2

step1:先构建了Person类,创建p1对象

step2:让Person类实现Serializable接口,"贴标签"

step3:ObjectOutputStream写对象出去到person.txt中

序列化

插入一步:修改Person类

属性封装,提供get和set方法。。。

step4:ObjectInputStream将对象读回来:Object-->p1

反序列化

序列化和反序列化:

序列化:将对象,转为一系列的二进制编码。p1--->0101010101011....

反序列化:将二进制数值,再转为对象的过程,就叫反序列化。0101010101011....--->p1

1、对象的属性能够被序列化,static的属性不能被序列化。

2、transient修饰符,使用该修饰符修饰的属性,不会被序列化的。

网络参考模型

1、7层

2、4层

通信协议


TCP协议和UDP协议

TCP协议:重点掌握——>好比打电话:

1、面向连接,数据传递的时候很安全。

三次握手,四次挥手。

2、因为面向连接,所以传递的效率较低。

3、面向连接,数据安全的。可以传递大量的数据。

4、服务端和客户端

服务端:提供服务的

客户端:来访问服务端,获取数据

客户端登录,数据下载,文件传输。。


UDP协议:了解——>好比写信

1、面向无连接,数据传的时候不是很安全。

2、因为面向无连接,效率很高。

3、UDP

4、没有客户端和服务端的概念。叫做发送方,另一个叫接收方。



网络编程的三要素

2.4.1、协议

理解为是规则,网络上的双方,都要共同遵守的规定。

TCP/UDP

2.4.2、IP地址

在网络中的主机的唯一标识。




port端口

网络程序的唯一标识。int类型的整数。0-65535。

同一台电脑上一个端口只能被一个网络程序所占用。

A程序:占用端口9527。启动后,正在使用9527端口,那么其他的程序如果还使用9527端口,就会报错,端口已经被占用。

网络编程相关的类:

InetAddress

Java中用于描述IP的类

Socket

基于TCP协议的客户端的表示。

ServerSocket

基于TCP协议的服务端的表示。

TCP编程的流程

服务端:ip地址:192.168.1.100,port:9527

step1:创建ServerSocket,一个服务端的程序:

step2:等待客户端申请链接,accept()接收链接。——>Socket

step3:创建流:InputStream,OutputStream

step4:关闭链接,断开资源

客户端:ip地址:192.168.1.150,port:20000

step1:创建Socket,客户端的程序

申请链接服务器:(服务器的ip地址和port)

step2:创建流:InputStream,OutputStream

step3:关闭链接,断开资源

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容