博客
关于我
JavaSE基础系列之Socket基础
阅读量:361 次
发布时间:2019-03-04

本文共 811 字,大约阅读时间需要 2 分钟。

OSI网络模型划分与TCP/IP协议分析

OSI网络模型是ISO于1985年提出的开放式系统互联模型,分为七层。其划分与TCP/IP五层模型存在显著差异,具体如下:

OSI七层模型:

  • 应用层(Application Layer)
  • 会话层(Session Layer)
  • 传输层(Transport Layer)
  • 网络层(Network Layer)
  • 数据链路层(Data Link Layer)
  • 物理层(Physical Layer)
  • Link层(Link Layer)
  • TCP协议TCP是一种面向连接的、可靠的、全双工字节流协议。其特点包括:

  • 需要通过"三次握手"建立连接
  • 保持全程连接
  • 数据传输可靠、有序
  • 适用于大数据量传输
  • 连接建立和释放耗时较长
  • UDP协议UDP是非面向连接的、无连接性的数据报协议,其特点包括:

  • 无需建立连接
  • 数据传输不保证可靠性和有序性
  • 数据报大小限制为64K
  • 消耗资源较少
  • 适用于实时性要求高但可靠性要求低的场景
  • IP地址IP地址用于在互联网中标识唯一设备。IPv4由32位二进制组成,通常用点分十进制表示法:如0x01020304对应1.2.3.4。常见IP类型包括:

    • 本地回环地址:127.0.0.1
    • 主机名:localhost

    端口号端口号用于指定设备中的特定进程,范围为0-65535。常用端口号示例:

    • HTTP:80
    • FTP:21
    • Oracle:1521
    • MySQL:3306
    • Tomcat:8080

    使用时需提供IP地址和端口号,组合称为网络套接字(Socket)。

    UDP协议编程模型发送方步骤:

  • 创建DatagramSocket对象
  • 创建DatagramPacket对象并指定接收方地址
  • 调用send方法发送数据
  • 接收方步骤:

  • 创建DatagramSocket对象并指定本地端口
  • 创建DatagramPacket对象并分配缓冲区
  • 调用receive方法接收数据
  • 关闭Socket
  • 转载地址:http://evdr.baihongyu.com/

    你可能感兴趣的文章
    python商品库存管理系统 django框架 商品网站 MySQL数据库 源码下载 计算机毕业设计
    查看>>
    Python哪个版本最稳定好用2023.10.19
    查看>>
    Python和黑客技术的渊源
    查看>>
    Python和RF编写接口自动化
    查看>>
    Python和RF编写web自动化
    查看>>
    python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
    查看>>
    python和java哪个更值得学——来自知乎高赞回答
    查看>>
    python和c混合编程 github_在pycharm中使用git版本管理以及同步github的方法
    查看>>
    python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
    查看>>
    Python命名中尾随下划线有什么好处?
    查看>>
    Python启动脚本
    查看>>
    Python听写汇总结果
    查看>>
    python吊打Excel?屁!那是你不会用!
    查看>>
    Python合并两张图片 | 先叠透明度再合并 (附Demo)
    查看>>
    python各进制的表述与转换
    查看>>
    python各种库安装
    查看>>
    python可视化matplotlib_如何使用Python中最强大的可视化工具Matplotlib?
    查看>>
    python可维护性_使用这7大神器,让你的Python 代码更容易于维护
    查看>>
    Python只运行一次while循环
    查看>>
    python变量的详细教程_Python零基础入门教程之语法入门[变量](第二期)
    查看>>