(网络编程)day18javaSE基础查漏补缺

1.UDP协议???

2.tcp网不好的时候不会丢失数据吗?不会

有三次握手和四次挥手,保证数据完整性。

3.为什么要三次握手?

在这里插入图片描述

4.为什么要四次挥手?

根本原因是,一方发送FIN只表示自己发完了所有要发的数据,但还允许对方继续把没发完的数据发过来。

​ 举个例子:A和B打电话,通话即将结束后,A说“我没啥要说的了”,B回答“我知道了”,但是B可能还会有要说的话,A不能要求B跟着自己的节奏结束通话,于是B可能又巴拉巴拉说了一通,最后B说“我说完了”,A回答“知道了”,这样通话才算结束。

5.飞秋发送文件–tcp,聊–UDP

6.抓包是不是就是拦截的这两种传输协议数据包?

7.IP地址:

ipv4:4个字节

ipv6:16个字节,由16进制表示。

8.为什么一台电脑同时有ipv4地址和ipv6地址还有物理地址。

  • 电脑连网线访问外网,ipv6,同时电脑开热点,手机连ipv4.
  • 物理地址,这里理解成设备的MAC地址,一般是由制造商分配的,是设备的ID,一般是固化的,不会改变的。

ip是动态分配的,只有不够用的时候,才会用ipv6,否则用ipv4

ipv4说的是(在互联网上,联网的计算机太多,ipv4不够分)

IPv4和IPv6地址,简单理解就是可以改变的地址。会由ISP分配(全球可寻址),若是私有局域网可能会静态配置或使用DHCP动态分配。其地址长度 IPv4协议具有32位(4字节)地址长度; IPv6协议具有128位(16字节)

如果从广义上来看,IPv4和IPv6都是三层的地址,MAC是二层地址。分别用于不同的寻址和路由用途。

9.ipconfig:windows Ip 配置

10.ping :ip地址(ipv4和ipv6都可以ping)

ping之前得三次握手

127.0.0.1–localhost,也可以ping域名

11.可以用网线把两天电脑连在一起。

12.计算机中连接网络的软件,都会有一个端口号,通过端口号,就可以找到软件

  • 端口号:是一个逻辑端口,无法直接看到
  • 端口号,两个字节,范围:2^16=65535 1023已经被操作系统占用了。

打开联网软件的时候,操作系统自动分配一个端口号,或者要一个指定的端口号。

端口号相当于门牌号

  • 网络端口:80
  • 数据库:mysql:3306 oracle:1521
  • tomcat:8080

13.tcp通信:

客户端(套字节)对象里面有两个IO流

Socket对象创建的时候就有两个流

套接字:封装了IP地址和端口号的网络单位。

14.网络对象流socket.get

15.路由器交换机,会自动分配IP

16.传文件要来个唯一的文件名,时间戳+随机数.

17.结束标记是jvm自己加的.网络流就没有结束标记了.

18.int num = is.read();fos.write(num);??确实可以输入int整形

底层native方法.无法窥视
可以定义byte b = (byte)-1;

19.shutDownOutput,传递一个结束标记,并结束输出流,

20.这里写socket.close的作用,也是告之客户端,使用完毕客户端了,所以客户端能读取到-1。

在这里插入图片描述

这里写socket.close的作用,也是告之客户端,使用完毕客户端了,所以客户端能读取到-1。

21.服务端没有关闭socket,之前,客户端不能关闭socket,否则会出现异常。

服务端关闭socket可以给客户端传递一个结束标记。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值