路由Zebra 之socket通信机制
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通信机制相关推荐
- php 实例说明 socket通信机制
php 实例说明 socket通信机制 张映 发表于 2010-04-24 分类目录: php 一,socket是什么 什么是socket 所谓socket通常也称作"套接字",用 ...
- flash php socket通信_php socket通信机制实例说明
php socket通信机制实例说明与代码----什么是socket 所谓socket一般也称作"套接字",用于描述ip地址和端口,是一个通讯链的句柄.使用程序一般经过" ...
- Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制
JAVA 中原生的 socket 通信机制 转载自:https://github.com/jasonGeng88/blog 当前环境 jdk == 1.8 知识点 socket 的连接处理 IO 输入 ...
- connect: 网络不可达_Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制
本文转自:https://github.com/jasonGeng88/blog 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https ...
- linux 进程通信机制,LINUX内核进程高效通信机制研究
摘要:进程间的通信是多任务.多用户操作系统必须考虑的重大问题,Linux继承了Unix的基本设计思想,其安全性和稳定性得到了人们的认可,但随着其应用领域的不断拓展,其通信机制已经不能满足用户的需求.本 ...
- Python攻防-Socket通信建立TCP反向连接
文章目录 前言 远程控制 脚本编写 效果演示 脚本优化 getopt () 完整代码 效果演示 前言 本文将记录学习基于 Socket 通信机制建立 TCP 反向连接,借助 Python 脚本实现主机 ...
- linux通信机制总结
目录 1. Linux通信机制分类简介 2. Inter-Process Communication (IPC) mechanisms: 进程间通信机制0x1: 信号量(Signals)0x2: 管道 ...
- Binder通信机制介绍
1.Binder通信机制介绍 这篇文章会先对比Binder机制与Linux的通信机制的差别,了解为什么Android会另起炉灶,采用Binder.接着,会根据 Binder的机制,去理解什么是Serv ...
- Storm通信机制,Worker进程间通信,Worker进程间通信分析,Worker进程间技术(Netty、ZeroMQ),Worker 内部通信技术(Disruptor)(来自学习资料)
Storm通信机制 Worker间的通信经常需要通过网络跨节点进行,Storm使用ZeroMQ或Netty(0.9以后默认使用)作为进程间通信的消息框架. Worker进程内部通信:不同worker的 ...
最新文章
- uboot的作用和功能
- Beetle在Tcp通讯中使用Protobuf
- 在linux CentOS 上安装chrome 谷歌浏览器
- 如何让JAVA程序实现一段时间等待
- 【学习笔记】java基础核心总结
- 深入浅出gRPC——极客时间李林锋
- 在Spring + Hibernate中使用二级缓存配置步骤
- hive mysql集群安装_HIVE完全分布式集群安装过程(元数据库: MySQL)
- 【2017年第1期】基于外卖物流配送大数据的调度系统
- dot全称_游戏dot是什么
- HDU1434 幸福列车【模拟+优先队列】
- 11 二进制中1的个数 31 整数中1出现的次数
- HMM学习(2)-Generating Patterns
- oracle 数据库备份脚本
- 黑苹果安装各种问题解决办法
- INTERVAL 用法
- VS2019 配色_庆祝湖人夺冠!詹姆斯支线球鞋Witness 5 湖人配色发售
- mysql报错 Your password does not satisfy the current policy requirements
- oracle 地图引擎,基于 Web 的地图服务引擎的设计与实现
- 电力系统嵌入式设备测试工具
热门文章
- 练习:人人网注册页面
- 基于C#+MySQL开发的小型宾馆管理系统设计与实现
- 边缘计算社区2020做了什么?
- bert系列第二篇:几个损失函数
- 天旦客座民生商学院、华夏银行,分享产品思维,启航数字化转型
- Visual C the best way to get the contents of a file directory into a list
- IDC运维团队技术交流----金盾防火墙基本操作
- 模型训练出现UnidentifiedImageError: cannot identify image file <io.BytesIO object at 0x7faaa82bdb90>
- hgame2023-week3
- 2017 is shit, looking forward to 2018