python rpyc的应用 ——聊天的功能(带认证)
2016-04-01 17:25
1421 查看
rpc:远程过程调用,一个协议,实现的语言有很多。顾名思义,在A机器远程调用B机器里面的函数。
rpyc:python的远程过程调用。
首先是安装,我的环境:centos6.5
测试下,运行
没有错误就说明安装好了
现在做一个功能就是聊天会话的功能,理解下。
一个server端,一个client端。
vim server.py
输入:
这个地方注意下:待会先启动server.py
然后再开启一个终端(或者是装了rpyc的其他机器,连接的时候将127.0.0.1换成server的ip)
vim client.py
写好了过后,注意!!!!!!!!!
先启动server.py 然后启动client.py
![](https://static.oschina.net/uploads/img/201604/01172353_Wsoz.png)
rpyc用来聊天? 也太低级了。
换位思考下,都能交互了,还有啥不能做。
client发送命令,server获取了,然后去执行,还有什么不能做的。
参考:
rpyc 官网:http://rpyc.readthedocs.org/en/latest/index.html
rpyc:python的远程过程调用。
首先是安装,我的环境:centos6.5
cd /usr/local/src/ wget https://pypi.python.org/packages/source/r/rpyc/rpyc-3.2.3.tar.gz --no-check-certificate tar -zxvf rpyc-3.2.3.tar.gz cd rpyc-3.2.3 python setup.py install
测试下,运行
[root@Master rpyc-3.2.3]# python -c 'import rpyc'
没有错误就说明安装好了
现在做一个功能就是聊天会话的功能,理解下。
一个server端,一个client端。
vim server.py
输入:
[root@Master rpyc-3.2.3]# vim server.py #-*- encoding: utf-8 -*- from rpyc import Service from rpyc.utils.server import ThreadedServer class ManagerService(Service): #rpyc只传送exposed_开头的函数 #进行连接用户认证 user和passwd 随便起一个,和linux用户没关系 def exposed_login(self,user,passwd): if user=="root" and passwd=="KJS23o4ij09gHF734iuhsdfhkGYSihoiwhj38u4h": self.Checkout_pass=True else: self.Checkout_pass=False #认证成功后执行接收到的命令关返回结果 def exposed_cmd(self,command): try: if self.Checkout_pass!=True: return "User verify failed!" except: return "Invalid Login!" print "他说:",command ret=raw_input("我说:") return ret #启动进程服务 s=ThreadedServer(ManagerService,port=11511,auto_register=False) s.start()
这个地方注意下:待会先启动server.py
然后再开启一个终端(或者是装了rpyc的其他机器,连接的时候将127.0.0.1换成server的ip)
vim client.py
#-*- encoding: utf-8 -*- import rpyc conn=rpyc.connect('127.0.0.1',11511) conn.root.login('root','KJS23o4ij09gHF734iuhsdfhkGYSihoiwhj38u4h') while 1: command=raw_input("我说:") message=conn.root.cmd(command) print "他说:",message
写好了过后,注意!!!!!!!!!
先启动server.py 然后启动client.py
![](https://static.oschina.net/uploads/img/201604/01172353_Wsoz.png)
rpyc用来聊天? 也太低级了。
换位思考下,都能交互了,还有啥不能做。
client发送命令,server获取了,然后去执行,还有什么不能做的。
参考:
rpyc 官网:http://rpyc.readthedocs.org/en/latest/index.html
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例