Java:网络编程,网络编程三要素,TCP协议,UDP协议

网络编程

1、网络:计算机网络,由在不同地理位置、不同的计算机主机,互联形成的一个计算机系统。有通讯和数据共享的作用。

2、网络编程:在已经拥有完备成熟的网络系统之后,在整个基础上,使用网络进行编程,对应用层进行设计的活动。

网络编程三要素:

IP地址

1、在一个计算机网络中,某台计算机在网络中的唯一标志
2、分类:
IPv4:
使用4个0-255的数字,来表示一个ip地址,32位,2^32个地址,将近43亿
IPV4的四个数字的规则:
前三个 数字:代表当前电脑所属的子网
最后一个数字:代表在这个子网下每一个电脑的编号,在同一个子网下,不可能出现
相同的编号,如果有,就会报IP地址冲突
最后一个数字有几个特别的数字:
0表示当前子网的编号
255表示广播地址(在整个子网中的所有地址,都会接收到发送到广播地址的数据)
特殊的IP地址:127.0.0.1,表示本地回环地址,对应有个域名localhost
相关的命令:ipconfig(查询当前网卡信息) ping(查看某个IP是否联通)
IPv6:
由8组数字组成,每组数字都是4个16进制数(16的32次方)
地球上每一粒沙子都有一个ip地址
在这里插入图片描述

端口号

在这里插入图片描述

通信协议

网络分层:就是分工,为了每一个单位都可以非常专业的做自己的事情
应用层:http协议、https协议、FTP协议
传输层:UDP协议、TCP协议
网络层:IP协议、路由协议
物理层:底层硬件设备、数据的完整和校验

协议:

各个计算机网络传输的一个规范: 协议分为7层
主要说的是传输层 : TCP UDP + xmpp 协议 ==> 即时通讯(qq,微信)
web阶段主要: http 协议 https 协议
UDP面向无连接的协议: 传输的数据快,但是可以会丢数据(cts飞q) 会出现卡顿
TCP 面向连接的协议: 传输慢,不会丢失数据(三次握手) ==>qq传消息 文字需要准确性,使用的就是这个协议

            http 与https==>都是属于一次性的连接==>也就是客户端给服务器发送请求,当交互完,这个请求就断开了
            https =http+ssl 证书,这个证书保证数据的传输的安全性  大部分上线的网站都会使用https协议 

TCP协议

  1. 实例化这个socket对象
  2. 通过socket对象 得到输出流 OutputStream
    3.调用 write()
  3. shutdownOutput()
    5.拿到输入流 InputStream
  4. new BufferReader(new InputStreamReader(new FileInputStream))
    7.关闭资源

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
多线程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果有两个客户端, 一个服务器,就会产生这样一个错误 Connection refused: connect
解决这个问题 : 是用多线程解决这个问题 : 解决多个客户端对应一个服务器的问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用socket实现文件上传的功能

在这里插入图片描述
在这里插入图片描述

UDP协议

在这里插入图片描述
在这里插入图片描述
基于udp比较繁琐, 没有获取流对象的方法,所有只能够按照以上的方法区操作

开发使用的是第三方 环信与融云(sdk) tcp+udp 即时通信

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值