返回顶部
首页 > 资讯 > 后端开发 > Python >在python中实现基于ICE框架的cl
  • 546
分享到

在python中实现基于ICE框架的cl

框架pythonICE 2023-01-31 07:01:17 546人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

ICE (Internet Communication Engine) 是zeroc公司实现的通信中间件 几大特性:     1. 多语言支持c++、Java、python, C#等,     2.  对分布式系统的支持,涵盖了负

ICE (Internet Communication Engine) 是zeroc公司实现的通信中间件

几大特性:

    1. 多语言支持c++、Java、pythonC#等,

    2.  对分布式系统的支持,涵盖了负载均衡、位置服务、计算节点需要实时启动等特性。

    3.  提供了基于发布-订阅机制的消息组建ICEStORM


一、书写slice文件,然要按照slice规定的语法来实现

Printer.ice

1
2
3
4
5
module Demo {
    interface Printer {
        void printString(string s);
    };
};


二、 编译slice代码,官方教程提供了命令行的编译方式:

    ​slice2py Printer.ice

这种方法还需要额外安装slice2py命令,为了省事没有采用这种方法,我们采用的是在程序中动态的加载slice文件并编译它。


三、实现服务端代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import sys, traceback, Ice
  
# 动态加载slice文件并编译
Ice.loadSlice("./Printer.ice")
  
# Demo即是从Printer.ice导出的模块名
import Demo
  
# 实现一个服务类
class PrinterI(Demo.Printer):
    def printString(self, s, current=None):
        print s
  
status = 0
ic = None
try:
    # 初始化ice运行环境(ice run time)  Ice.Communicator
    ic = Ice.initialize(sys.argv)
 
    # 初始化一个适配器adapter 他的名字叫"SimplePrinterAdapter"
    # 采用默认协议tcp/ip 监听端口10000
    adapter = ic.createObjectAdapterWithEndpoints("SimplePrinterAdapter""default -p 10000")
 
    # 为我们的Printer接口实例化一个工作的仆人
    object = PrinterI()
 
    # 将上述实例化好的仆人添加到适配器中,他的识别码是"SimplePrinter"
    adapter.add(object, ic.stringToIdentity("SimplePrinter"))
 
    # 激活适配器
    adapter.activate()
    # 等待结束信号
    ic.waitForShutdown()
except:
    traceback.print_exc()
    status = 1
  
if ic:
    # Clean up
    try:
        ic.destroy()
    except:
        traceback.print_exc()
        status = 1


四、实现客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import sys, traceback, Ice
import Demo
 
status = 0
ic = None
try:
 
    # 初始化运行环境
    ic = Ice.initialize(sys.argv)
 
    # 获取远程printer服务的代理
    base = ic.stringToProxy("SimplePrinter:default -p 10000")
 
    # 请求服务端确认:”这是不是 Demo::Printer的代理接口?“
    printer = Demo.PrinterPrx.checkedCast(base)
    if not printer:
        raise RuntimeError("Invalid proxy")
 
    # 远程调用,看起来像本地的服务一样
    printer.printString("Hello World!")
except:
    traceback.print_exc()
    status = 1
 
if ic:
    # Clean up
    try:
        ic.destroy()
    except:
        traceback.print_exc()
        status = 1
 
sys.exit(status)




--结束END--

本文标题: 在python中实现基于ICE框架的cl

本文链接: https://lsjlt.com/news/192020.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在python中实现基于ICE框架的cl
    ICE (Internet Communication Engine) 是zeroc公司实现的通信中间件 几大特性:     1. 多语言支持C++、Java、python, C#等,     2.  对分布式系统的支持,涵盖了负...
    99+
    2023-01-31
    框架 python ICE
  • 基于Python的接口测试框架实例
    背景 最近公司在做消息推送,那么自然就会产生很多接口,测试的过程中需要调用接口,我就突然觉得是不是可以自己写一个测试框架? 说干就干,由于现有的接口测试工具Jmeter、SoupUI等学习周期有点长,干脆自...
    99+
    2022-06-04
    框架 实例 接口
  • 基于Python实现从头搭建一个在线聊天室框架
    目录整体技术栈搭建权限框架构建前端页面今天从头开始做一个在线聊天网站,网上各种各样的聊天工具已经很多了,为啥还要做这么一个聊天工具呢,无他,兴趣耳! 今天先完成第一部分,搭建起聊天网...
    99+
    2022-11-16
    Python在线聊天室 Python 聊天室 Python 在线聊天 Python 聊天
  • 基于python的scrapy框架爬取豆
    1.Scrapy框架介绍 主要介绍,spiders,engine,scheduler,downloader,Item pipeline scrapy常见命令如下:   对应在scrapy文件中有,自己增加爬虫文件,系统生成items,...
    99+
    2023-01-30
    框架 python scrapy
  • 基于python的REST框架eve测试
    Eve是一款Python的REST API框架,用于构建和部署高可定制的、全功能的RESTful的Web服务。Eve是一个开源项目,遵循BSD开源协议,已在Python 2.6、2.7以及Python 3.3版本下进行了非常全面的测试。特色...
    99+
    2023-01-31
    框架 测试 python
  • 基于python 的Pygame最小开发框架
    目录1.最小开发框架代码2.关键代码介绍sys和pygame模块初始化init()及设置屏幕大小、标题、颜色设置事件循环退出游戏1.最小开发框架代码 import sys  impo...
    99+
    2024-04-02
  • 基于JavaSSM框架实现简易的评教系统
    目录介绍效果图部分核心代码介绍 项目编号:BS-GX-014 数据库:mysql 开发工具:IDEA / ECLIPSE 开发技术:SSM 框架 本系统基于SSM框架实现。主要包含三...
    99+
    2024-04-02
  • SpringSecurity实现基于角色的访问控制框架
    目录说明Spring Security与Shiro的区别简单使用登录校验流程引入Security设置用户名和密码使用配置类过滤规则授权方式WEB授权方法授权顺序优先级登出跨域认证失败...
    99+
    2023-05-17
    Spring Security访问控制框架 Spring Security访问控制
  • 基于Bootstrap框架如何实现图片切换
    这篇文章主要介绍了基于Bootstrap框架如何实现图片切换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。准备图片,把相关记录添加至数据库表...
    99+
    2024-04-02
  • 基于ABP框架实现数据字典开发
    在业务型的系统开发中,我们需要维护各种个样的类型,比如客户类型、客户行业、商品类型等等,这些类型往往信息量不多,并且相似度极高,如果采用一类型一表去设计,将会造成极大的工作量,通过将...
    99+
    2024-04-02
  • 详解Spring框架之基于Restful风格实现的SpringMVC
    如果说现在你要做一个系统,假设说有一个模块属于公告管理,那么我们可能安排路径的时候会这样安排NewsAction路径: 增加新闻:/pages/back/admin/news/add.action; 新闻列表:/page...
    99+
    2023-05-31
    spring restful st
  • 基于 PHP 的 Laravel 框架,如何实现高效响应?
    PHP 是一门非常流行的编程语言,广泛应用于 Web 开发领域。Laravel 是一种基于 PHP 的 Web 应用程序框架,它的开发目标是提高 Web 应用程序的开发效率和可维护性。在 Laravel 框架中,如何实现高效响应呢?本文将为...
    99+
    2023-07-07
    laravel npm 响应
  • 怎么在Python中实现一个WSGI框架
    怎么在Python中实现一个WSGI框架?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3...
    99+
    2023-06-14
  • 基于ABP框架实现RBAC(角色访问控制)
    在业务系统需求规划过程中,通常对于诸如组织机构、用户和角色等这种基础功能,通常是将这部分功能规划到通用子域中,这也说明了,对于这部分功能来讲,是系统的基石,整个业务体系是建立于这部分...
    99+
    2024-04-02
  • 基于Selenium+Python的web自动化测试框架
    一、什么是Selenium?Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Se...
    99+
    2023-06-04
  • express框架实现基于Websocket建立的简易聊天室
    最近想写点有意思的,所以整了个这个简单的不太美观的小玩意 首先你得确认你的电脑装了node,然后就可以按照步骤 搞事情了~~ 1.建立一个文件夹 2.清空当前文件夹地址栏,在文件夹地址栏中输入cmd.ex...
    99+
    2022-06-04
    简易 框架 聊天室
  • java编程之基于SpringBoot框架实现扫码登录
    目录项目简介实现思路二次认证的原因实现步骤用户访问网页端,选择扫码登录使用手机扫码,二维码状态改变手机确认登录效果演示完整代码已上传到GitHub。 Web端体验地址:http://...
    99+
    2024-04-02
  • C++基于EasyX框架实现飞机大战小游戏
    正式使用Easyx之前,你需要先安装他!! EasyX 2022 版 (2022-9-1 更新) - EasyX 选择合适的版本安装 安装结束后就可以开始敲代码啦! 这里作者使用的...
    99+
    2023-01-06
    C++ EasyX飞机大战游戏 C++ 飞机大战游戏 C++ EasyX游戏
  • 基于Python的shell自动化框架ShutIt怎么用
    今天就跟大家聊聊有关基于Python的shell自动化框架ShutIt怎么用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ShutIt是一个易于使用的基于shell的自动化框架。它对...
    99+
    2023-06-17
  • 基于python的Pygame最小开发框架怎么用
    本篇内容主要讲解“基于python的Pygame最小开发框架怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于python的Pygame最小开发框架怎么用”吧!1.最小开发框架代码impo...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作