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地址

端口号

通信协议

网络分层:就是分工,为了每一个单位都可以非常专业的做自己的事情
应用层: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 即时通信

Java:网络编程,网络编程三要素,TCP协议,UDP协议相关推荐

  1. 在C++ Builder中用socket api来写网络通讯程序(同时支持TCP和UDP协议)

    原标题:在C++ Builder中用socket api来写网络通讯程序(同时支持TCP和UDP协议) 原文:  http://www.csdn.net/develop/read_article.as ...

  2. 【Java 网络编程】网络通信原理、TCP、UDP 回显服务

    一.网络发展历史 互联网从何而来? 这要追溯到上个世纪 50 - 60 年代,当时正逢美苏争霸冷战,核武器给战争双方提供了足够的威慑力,想要保全自己,就要保证自己的反制手段是有效的. 如何保证能够反击 ...

  3. Java基础学习总结:网络编程之(四)TCP与UDP的区别及常见的网络协议(转)

    TCP和UDP的区别 原文:https://blog.csdn.net/li_ning_/article/details/52117463 1.TCP与UDP基本区别 基于连接与无连接 TCP要求系统 ...

  4. TCP与UDP协议初步学习——网络环境中分布式进程通信的基本概念

    TCP与UDP协议初步学习--网络环境中分布式进程通信的基本概念 一.单机系统中进程通信方法 进程和进程通信是操作系统中最基本的概念,首先通过回忆操作系统课程中,关于单击系统中进程和进程通信的问题描述 ...

  5. TCP与UDP协议,socket套接字编程,通信相关操作

    文章目录 TCP与UDP协议 TCP协议 ==三次握手== ==四次挥手== UDP协议 TCP与UDP的区别 应用层 socket套接字 代码优化 循环通信 半连接池 粘包问题 TCP与UDP协议 ...

  6. java udp 协议_网络协议 - UDP 协议详解

    ¶ 网络协议 - UDP 协议详解 基于TCP和UDP的协议非常广泛,所以也有必要对UDP协议进行详解.@pdai ¶ UDP概述 UDP(User Datagram Protocol)即用户数据报协 ...

  7. 简单一文带你读懂Java变量的作用和三要素

    Java变量的作用 不只是java,在其他的编程语言中变量的作用只有一个:存储值(数据) 在java中,变量本质上是一块内存区域,数据存储在java虚拟机(JVM)内存中 变量的三要素 变量的三要素分 ...

  8. 计算机网络实验二抓包协议分析,计算机网络实验-使用Wireshark分析TCP和UDP协议...

    <计算机网络实验-使用Wireshark分析TCP和UDP协议>由会员分享,可在线阅读,更多相关<计算机网络实验-使用Wireshark分析TCP和UDP协议(6页珍藏版)>请 ...

  9. TCP、UDP协议的一些理解

    TCP.UDP协议的一些理解 TCP概念 TCP的定义和目的 三次握手 传输确认 四次挥手 UDP概念 UDP特点 TCP概念 TCP的定义和目的 定义:TCP是一种面向连接.可靠的.基于字节流的网络 ...

  10. TCP和UDP协议的区别以及原理

    TCP和UDP协议的区别以及原理 该文章是学习了B站up主的视频做的总结,讲的很通俗易懂,首先感谢博主的分享.视频地址:https://www.bilibili.com/video/BV1kV411j ...

最新文章

  1. Django中Mysql数据库的使用
  2. linux 不关机添加硬盘,完美解决Ubuntu Linux关机异响[SATA硬盘]
  3. iphone 软键盘
  4. 设置超链接文字的样式
  5. [Termux]给Termux安装一个发行版Linux
  6. 脚本两则--用于快速部署HADOOP,SPARK这些(特别是VM虚拟机模板部署出来的)。。...
  7. java数据库实例_选择数据库实例
  8. ai人工智能数据处理分析_建立数据平台以实现分析和AI驱动的创新
  9. 黑马程序员—怎么去黑马?吃住问题解答
  10. windows驱动开发-调试工具traceview使用
  11. 南邮 | 算法分析与设计实验三:回溯法
  12. 告别枯燥,ppt背景音乐怎么设置?
  13. 计算机软件工程学校排名,软件工程专业全国高校排名前十
  14. 【学习笔记】【MAC】sdk自带uiautomatorviewer启动报错问题解决
  15. 深度学习环境搭建:linux下 Ubuntu16.04+cuda8.0+cudnn+anaconda+tensorflow并配置远程访问jupyter notebook
  16. mui在线加载html,MUI 预加载页面
  17. 焱融科技加入多家行业协会与产业联盟,加速产业互联生态跃迁
  18. 用VB操作注册表 [转]
  19. matlab 分类学习工具箱 Classification Learner
  20. centOS7 下安装 mysql8.0

热门文章

  1. 【Java设计模式】迪米特法则的详细介绍
  2. SpringBoot 视频流和音频流(输出到浏览器)
  3. Data-Driven 3D Voxel Patterns for Object Category Recognition
  4. Tableau 空难统计分析(四)
  5. 数据访问层DAL的再次重构_3(转载)
  6. 树莓派2b/3b配置WLAN网络
  7. 合泰单片机入门——IO口操作
  8. android芝麻认证sdk,芝麻认证
  9. strcpy函数(复制字符串)
  10. 电脑快捷键错乱的问题