1 socket通信过程

1.1 socket接收端流程

图1  socket server端函数关系

 

图2  socket server端通信流程图

Socketserver端的数据处理是由main函数的vty_server_sock()函数实现的,

(1)先建立一个AF_UNIX类型的套接字socket1,然后绑定套接字,监听该套接字。

(2)zebra通过thread_add_read函数实现一个伪线程,通过accept接收socket1的数据,并返回一个新的socket2;

(3)通过read读取socket2接收到的数据,并将读到的数据赋值给.doit/dumplt,执行.doit/dumplt操作,最后通过write往socket2中写入数据。

这样就完成了socket server端的操作。

1.2 socket读写流程

图3 读写机制

以A和B进程间通信为例,

(1)A进程向B进程写入数据;

(2)B进程读到数据后,执行.doit/dumplt操作,会向A进程中写入数据。

路由Zebra 之socket通信机制相关推荐

  1. php 实例说明 socket通信机制

    php 实例说明 socket通信机制 张映 发表于 2010-04-24 分类目录: php 一,socket是什么 什么是socket 所谓socket通常也称作"套接字",用 ...

  2. flash php socket通信_php socket通信机制实例说明

    php socket通信机制实例说明与代码----什么是socket 所谓socket一般也称作"套接字",用于描述ip地址和端口,是一个通讯链的句柄.使用程序一般经过" ...

  3. Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制

    JAVA 中原生的 socket 通信机制 转载自:https://github.com/jasonGeng88/blog 当前环境 jdk == 1.8 知识点 socket 的连接处理 IO 输入 ...

  4. connect: 网络不可达_Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制

    本文转自:https://github.com/jasonGeng88/blog 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https ...

  5. linux 进程通信机制,LINUX内核进程高效通信机制研究

    摘要:进程间的通信是多任务.多用户操作系统必须考虑的重大问题,Linux继承了Unix的基本设计思想,其安全性和稳定性得到了人们的认可,但随着其应用领域的不断拓展,其通信机制已经不能满足用户的需求.本 ...

  6. Python攻防-Socket通信建立TCP反向连接

    文章目录 前言 远程控制 脚本编写 效果演示 脚本优化 getopt () 完整代码 效果演示 前言 本文将记录学习基于 Socket 通信机制建立 TCP 反向连接,借助 Python 脚本实现主机 ...

  7. linux通信机制总结

    目录 1. Linux通信机制分类简介 2. Inter-Process Communication (IPC) mechanisms: 进程间通信机制0x1: 信号量(Signals)0x2: 管道 ...

  8. Binder通信机制介绍

    1.Binder通信机制介绍 这篇文章会先对比Binder机制与Linux的通信机制的差别,了解为什么Android会另起炉灶,采用Binder.接着,会根据 Binder的机制,去理解什么是Serv ...

  9. Storm通信机制,Worker进程间通信,Worker进程间通信分析,Worker进程间技术(Netty、ZeroMQ),Worker 内部通信技术(Disruptor)(来自学习资料)

    Storm通信机制 Worker间的通信经常需要通过网络跨节点进行,Storm使用ZeroMQ或Netty(0.9以后默认使用)作为进程间通信的消息框架. Worker进程内部通信:不同worker的 ...

最新文章

  1. uboot的作用和功能
  2. Beetle在Tcp通讯中使用Protobuf
  3. 在linux CentOS 上安装chrome 谷歌浏览器
  4. 如何让JAVA程序实现一段时间等待
  5. 【学习笔记】java基础核心总结
  6. 深入浅出gRPC——极客时间李林锋
  7. 在Spring + Hibernate中使用二级缓存配置步骤
  8. hive mysql集群安装_HIVE完全分布式集群安装过程(元数据库: MySQL)
  9. 【2017年第1期】基于外卖物流配送大数据的调度系统
  10. dot全称_游戏dot是什么
  11. HDU1434 幸福列车【模拟+优先队列】
  12. 11 二进制中1的个数 31 整数中1出现的次数
  13. HMM学习(2)-Generating Patterns
  14. oracle 数据库备份脚本
  15. 黑苹果安装各种问题解决办法
  16. INTERVAL 用法
  17. VS2019 配色_庆祝湖人夺冠!詹姆斯支线球鞋Witness 5 湖人配色发售
  18. mysql报错 Your password does not satisfy the current policy requirements
  19. oracle 地图引擎,基于 Web 的地图服务引擎的设计与实现
  20. 电力系统嵌入式设备测试工具

热门文章

  1. 练习:人人网注册页面
  2. 基于C#+MySQL开发的小型宾馆管理系统设计与实现
  3. 边缘计算社区2020做了什么?
  4. bert系列第二篇:几个损失函数
  5. 天旦客座民生商学院、华夏银行,分享产品思维,启航数字化转型
  6. Visual C the best way to get the contents of a file directory into a list
  7. IDC运维团队技术交流----金盾防火墙基本操作
  8. 模型训练出现UnidentifiedImageError: cannot identify image file <io.BytesIO object at 0x7faaa82bdb90>
  9. hgame2023-week3
  10. 2017 is shit, looking forward to 2018