前段和后端怎么用rabbitmq实现消息通信 Python?

Python012

前段和后端怎么用rabbitmq实现消息通信 Python?,第1张

一、通过Python模拟收发消息

1、在各个节点上安装epel源

# yum install epel* -y11

2、安装python库

# yum --enablerepo=epel -y install python2-pika11

3、在rabbitmq-server节点上

1)、创建用户

# rabbitmqctl add_user wuyeliang password 11

2)、创建虚拟主机

# rabbitmqctl add_vhost /my_vhost11

3)、赋予权限

# rabbitmqctl set_permissions -p /my_vhost wuyeliang ".*" ".*" ".*" 11

4、在rabbitmq节点上模拟发消息,代码如下

# vi send_msg.py

#!/usr/bin/env python

import pika

credentials = pika.PlainCredentials('wuyeliang', 'password') #注意用户名及密码

connection = pika.BlockingConnection(pika.ConnectionParameters(

'localhost',

5672,

'/my_vhost',

credentials))

channel = connection.channel()

channel.queue_declare(queue='Hello_World')

channel.basic_publish(exchange='',

routing_key='Hello_World',

body='Hello RabbitMQ World!')

print(" [x] Sent 'Hello_World'")

connection.close()1234567891011121314151612345678910111213141516

4、在client节点上模拟收消息,代码如下

# vi receive_msg.py

#!/usr/bin/env python

import signal

import pika

signal.signal(signal.SIGPIPE, signal.SIG_DFL)

signal.signal(signal.SIGINT, signal.SIG_DFL)

credentials = pika.PlainCredentials('wuyeliang', 'password')

connection = pika.BlockingConnection(pika.ConnectionParameters(

'dlp.srv.world',

5672,

'/my_vhost',

credentials))

channel = connection.channel()

channel.queue_declare(queue='Hello_World')

def callback(ch, method, properties, body):

print(" [x] Received %r" % body)

channel.basic_consume(callback,

queue='Hello_World',

no_ack=True)

print(' [*] Waiting for messages. To exit press CTRL+C')

channel.start_consuming()123456789101112131415161718192021123456789101112131415161718192021

阶段一:Python开发基础

Python全栈开发与人工智能之Python开发基础知识学习内容包括:Python基础语法、数据类型、字符编码、文件操作、函数、装饰器、迭代器、内置方法、常用模块等。

阶段二:Python高级编程和数据库开发

Python全栈开发与人工智能之Python高级编程和数据库开发知识学习内容包括:面向对象开发、Socket网络编程、线程、进程、队列、IO多路模型、Mysql数据库开发等。

阶段三:前端开发

Python全栈开发与人工智能之前端开发知识学习内容包括:Html、CSS、JavaScript开发、Jquery&bootstrap开发、前端框架VUE开发等。

阶段四:WEB框架开发

Python全栈开发与人工智能之WEB框架开发学习内容包括:Django框架基础、Django框架进阶、BBS+Blog实战项目开发、缓存和队列中间件、Flask框架学习、Tornado框架学习、Restful API等。

阶段五:爬虫开发

Python全栈开发与人工智能之爬虫开发学习内容包括:爬虫开发实战。

阶段六:全栈项目实战

Python全栈开发与人工智能之全栈项目实战学习内容包括:企业应用工具学习、CRM客户关系管理系统开发、路飞学城在线教育平台开发等。

阶段七:算法&设计模式

阶段八:数据分析

Python全栈开发与人工智能之数据分析学习内容包括:金融量化分析。

阶段九:机器学习、图像识别、NLP自然语言处理

Python全栈开发与人工智能之人工智能学习内容包括:机器学习、图形识别、人工智能玩具开发等。

阶段十:Linux系统&百万级并发架构解决方案

阶段十一:高并发语言GO开发

Python全栈开发与人工智能之高并发语言GO开发学习内容包括:GO语言基础、数据类型与文件IO操作、函数和面向对象、并发编程等。

详细如下。

一个名叫“Remi”的Python库,就是用来开发WebApp的。1.Remi库简介

Remi是一个用于Python应用程序的GUI库,它将应用程序的界面转换为HTML,以便在Web浏览器中呈现。严格地说,我们不能用Remi库来编写传统的网站,而只能将它当成Web形式的Tkinter库(Python最经典的图形界面库)来使用。如果要做网站,还是要老老实实学点前端知识,然后结合Python的Flask框架来开发。

2.Remi库的安装

Remi可以采用pip命令安装

3.Remi库的代码

运行这段代码后,浏览器会自动打开一个本地的网址,出现如下图所示的界面。将“127.0.0.1”换成IP地址,就能通过其他电脑、手机的浏览器来访问了。

点击“请点击这里”按钮,界面会发生变化,如下图所示。不用写复杂的JS代码,在Remi的支持下,网页交互就变得这么简单。如果需要了解更多关于Remi库的资源,可以访问github或者官方文档。

github地址:https://github.com/dddomodossola/remi

文档地址:https://remi.readthedocs.io/en/latest/

基于Remi编写基于Web的物联网应用程序,既然是编写物联网应用程序,那么肯定还需要安装siot库。这也是“虚谷物联”团队开发的Python库,因为MQTT的官方Python库(paho-mqtt)编写出来的代码冗长,不好理解,于是委托上海蘑菇云团队在paho-mqtt的基础上进行了新的封装。siot库可以通过pip命令来安装,命令如下:

pipinstallsiot