搜索
bottom↓
回复: 28

基于Python的TCPUDP调试工具,可运行于服务器、手机、树莓派

  [复制链接]

出0入25汤圆

发表于 2015-9-13 11:42:09 | 显示全部楼层 |阅读模式
基本的收发功能已经实现,不过肯定还有不少bug,算是提供一个Python实现此类功能的思路吧

程序在电脑浏览器中运行的情况:



程序在手机QPython中运行:




当然,既然这是一个基于Python的Web应用,它肯定也可以放到服务器上去执行,比如放到GAE或SAE上去执行;也可以放到树莓派、Wrtnode这样的运行Linux的板子上去运行,这样就可以从浏览器登录对板子进监控了,是不很强大,一个程序可以在这么多地方运行!!!


程序源码:

说明:程序运行除了标准Python外,还需要安装三个包:bottle、CherryPy和websocket_server,这三个Package都是纯Python代码的,在有标准Python的地方都可以用pip命令直接安装,如电脑上、Android手机上(QPython)、树莓派板上。

注意:手机上的QPython还有不少问题,如安装完CherryPy和websocket_server包后在中断里面能import找到,但在main.py中执行import时找不到这两个包,所以我硬编码添加了这两个package的路径,如下:
sys.path.append('/data/data/com.hipipal.qpyplus/files/lib/python2.7/site-packages/websocket_server-0.4-py2.7.egg')
sys.path.append('/data/data/com.hipipal.qpyplus/files/lib/python2.7/site-packages/CherryPy-3.8.0-py2.7.egg')
不过你安装的这两个Package的版本可能和我的不一样,这样路径也就不完全一样,,所以如果程序执行报错说找不到那两个包,你要自己测试下包的路径是否正确,然后去main.py里面去修正一下,查看的方法是去QPython的终端里面执行import sys和sys.path,就能看到这两个包的位置了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2015-9-13 11:59:11 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2015-9-13 12:11:15 | 显示全部楼层
好东西,收藏了

出0入0汤圆

发表于 2015-9-13 12:17:54 | 显示全部楼层
py确实方便。就是体积太大。。

出0入0汤圆

发表于 2015-9-13 12:49:56 来自手机 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2015-9-13 16:25:50 | 显示全部楼层
需要运行环境吗?还是直接在web服务器就可以运行?

出20入0汤圆

发表于 2015-9-13 23:37:12 | 显示全部楼层
  谢谢分享。

出0入25汤圆

 楼主| 发表于 2015-9-27 01:07:52 | 显示全部楼层
楼主位没法改了,补充在这里吧:最后那个“注意”,即sys.path.append添加正确的package路径不需要了,只需要在脚本最前面添加一句“import site”即可
即把:

改成:


修改好的程序:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-9-27 10:31:16 | 显示全部楼层
正是我需要学习的东西,先下载下来,谢谢楼主了。

出0入0汤圆

发表于 2015-9-27 10:54:33 | 显示全部楼层
真是个非常有用的东东,Python语言方便灵活,收藏先,回头仔细再学习

出0入0汤圆

发表于 2015-9-27 10:57:44 | 显示全部楼层
楼主,请教这个三个文件:bottle、CherryPy和websocket_server从哪里下载好?
百度一圈,没有找到,汗!

出0入25汤圆

 楼主| 发表于 2015-9-27 11:07:38 | 显示全部楼层
yixin1851 发表于 2015-9-27 10:57
楼主,请教这个三个文件:bottle、CherryPy和websocket_server从哪里下载好?
百度一圈,没有找到,汗! ...


简单的方法:用pip,安装上Python后第一件事情就是安装pip,网上有安装pip的教程


如果确实想下载下来再安装,可以去PyPI(the Python Package Index)网站,这是Python包的仓库,在这里肯定能搜到,因为pip也是自动联网从这个网站下载然后安装的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-9-27 11:27:49 | 显示全部楼层
XIVN1987 发表于 2015-9-27 11:07
简单的方法:用pip,安装上Python后第一件事情就是安装pip,网上有安装pip的教程

感谢,非常实用!
已安装好了。

出0入0汤圆

发表于 2015-9-27 11:50:27 | 显示全部楼层
yixin1851 发表于 2015-9-27 11:27
感谢,非常实用!
已安装好了。

pip 真乃神器

但是在windows 上稍微难用一些
mac 和 linux上 简直无敌了

出0入0汤圆

发表于 2015-9-27 11:53:28 | 显示全部楼层
Warning (from warnings module):
  File "C:\Python27\lib\site-packages\bottle.py", line 2777
    from cherrypy import wsgiserver
ImportWarning: Not importing directory 'C:\Python27\cherrypy': missing __init__.py

楼主,shell中出现上述警告是什么情况呢?

做服务器时,在shell可以显示接受字符,而在网页中无法显示接受字符。
另外IE内核浏览器不可以用,要用谷歌浏览器。

出0入0汤圆

发表于 2015-9-27 11:56:37 | 显示全部楼层
zhangsusu 发表于 2015-9-27 11:50
pip 真乃神器

但是在windows 上稍微难用一些

感觉windows也很方便啊
初学感觉很爽:
CMD下 pip install bottle

出0入25汤圆

 楼主| 发表于 2015-9-27 12:21:01 | 显示全部楼层
yixin1851 发表于 2015-9-27 11:53
Warning (from warnings module):
  File "C:\Python27\lib\site-packages\bottle.py", line 2777
    from ...


你是用pip安装的cherrypy吗??
你这个问题看起来很奇怪,因为自己安装的package都应该去site-packages目录下面去找啊,你的报错信息怎么去 'C:\Python27\cherrypy'目录去找呢??我没见过这种错误

给你一个暂时的简单解决问题的办法:不用cherrypy,用bottle自带的简易webserver,缺点就是速度慢,很慢,不方便调试,,可是比较不容易出问题,方法是:
把main.py最后一行的:run(server='cherrypy', host='localhost', port='8080', debug=True)
改成:run(host='localhost', port='8080', debug=True)


然后双击main.py运行,打开浏览器“http://localhost:8080/”回车即可在浏览器中看到界面

修改好的压缩包:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-9-27 13:32:29 | 显示全部楼层
XIVN1987 发表于 2015-9-27 12:21
你是用pip安装的cherrypy吗??
你这个问题看起来很奇怪,因为自己安装的package都应该去site-packages ...

谢谢   

出0入0汤圆

发表于 2015-9-27 13:42:12 | 显示全部楼层
XIVN1987 发表于 2015-9-27 12:21
你是用pip安装的cherrypy吗??
你这个问题看起来很奇怪,因为自己安装的package都应该去site-packages ...

我将C:\Python27\下的cherrypy改名了,就没有这个警告了。
但是浏览器还是没有输出。

出0入25汤圆

 楼主| 发表于 2015-9-27 13:52:10 | 显示全部楼层
yixin1851 发表于 2015-9-27 13:42
我将C:\Python27\下的cherrypy改名了,就没有这个警告了。
但是浏览器还是没有输出。 ...


双击main.py后有下面的界面吗??


如果有的话,在浏览器地址栏输入“http://localhost:8080/”回车,等一会儿(bottle自带的webserver比较慢,要多等一会儿)前面那个界面会变成下面这样子:


这时候浏览器就应该有界面了,,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-9-28 09:36:02 | 显示全部楼层
XIVN1987 发表于 2015-9-27 13:52
双击main.py后有下面的界面吗??

楼主大爱,非常热情!
虽然没有出现第二个图片,但是浏览器可以输出了。
谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-9-28 09:36:30 | 显示全部楼层
yixin1851 发表于 2015-9-28 09:36
楼主大爱,非常热情!
虽然没有出现第二个图片,但是浏览器可以输出了。
谢谢。

好像不能输出汉字

出0入0汤圆

发表于 2017-1-13 12:57:15 | 显示全部楼层
楼主请问你是怎么调试python程序的?

出0入0汤圆

发表于 2017-4-10 10:27:19 | 显示全部楼层
mark,做个记号!谢谢分享!

出50入255汤圆

发表于 2018-3-14 15:49:46 | 显示全部楼层
大侠,请教2个问题:
1,怎么可以让web收到的数据换行呢?
2,怎么断开连接(关闭服务)。 目前的状态是打开监听后,多半退不出去。只有关闭 服务程序才行。

我想放在远程服务器上。
谢谢

出0入0汤圆

发表于 2018-4-10 12:57:47 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2018-4-11 15:47:54 | 显示全部楼层

谢谢分享,最近在学习python,谢谢!!!

出0入0汤圆

发表于 2018-4-30 00:02:57 | 显示全部楼层
mark!谢谢分享

出0入0汤圆

发表于 2018-4-30 09:43:29 | 显示全部楼层
正在学习这个,看看。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 01:37

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表