天天看点

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

day23

    • 网络编程
      • 网络编程三要素:
        • IP地址
        • 端口号
        • 通信协议
    • 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地址

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

端口号

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

通信协议

网络分层:就是分工,为了每一个单位都可以非常专业的做自己的事情

应用层: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.关闭资源

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

多线程

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

如果有两个客户端, 一个服务器,就会产生这样一个错误 Connection refused: connect

解决这个问题 : 是用多线程解决这个问题 : 解决多个客户端对应一个服务器的问题

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

使用socket实现文件上传的功能

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

UDP协议

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

基于udp比较繁琐, 没有获取流对象的方法,所有只能够按照以上的方法区操作

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