2005年04月01日 星期五 13:27
P2P共享音乐客户端项目 客户端功能要求: 在已经提供的Address Server上注册与注销 通过Address Server查询其他在线的Peers 发送查询请求到其他Peers 响应其他Peers得查询请求 从其他Peers上请求文件下载 响应其他Peers得文件下载请求 用浏览器作为与用户交流的界面 目前Address Server已经提供了 通过这样的URI可以实现在Address Server上注册 http://Server/peerdb.cgi?requestType=register&name;=username&address;=ip地址:端口号 注册成功后,得到如下XML回复通过http://Server/~brooks/682/peerdb.cgi?requestType=unregister&name;= 可以在Address Server里注销 Address Server还支持这样的操作 http://server/peerdb.cgi?requestType=findAllPeers 可以查询到所有在线的Peers 得到如下XML回复 RegisterReply true Tue 8 Mar, 2005 11:01:02 192.3.55.6:8000 UserListReply true Tue 8 Mar, 2005 11:01:02 liudehua 133.66.197.2:8000 zhangxueyou 132.6.55.1:8000 当用户想查询歌曲的时候 发送如下请求给所有在线的Peers http://otherpeers:port?requestType=search&field;=artist&keyword;=zhoujielun Peers接到这样的请求后,要从自己的XML数据库里查询是否有符合条件的歌曲,并给与下面格式的XML回复。 此XML数据库不要求能通过Client更新,也就是说在一开始建好一个这样的数据库,放上几个歌就OK了,格式也不用跟下面的XML一致,到时候通过XSLT转换一下就OK guofucheng 发出查询请求的Peers把得到的XML翻译出来给用户阅读,用户选择下载哪首歌曲 用户决定下载后,Peer根据上面XML里的URL,发出HTTP GET请求。远方Peer响应此请求,把文件传过去。 基本的功能要求就是这样了。 因为只是个教学目的的项目,所以这里不考虑Peers很多的情况,在这一假设下,发送查询请求到每个Peers是可行的 另外,这里不考虑因为防火墙,内网无映射等原因造成的http请求无法到达远方Peers的情况。 按照这样一个模型,我的Client启动的同时,也要在后台启动一个Web service,这个Service不但要能响应普通的HTTP GET请求,还得能响应REST请求,在网上查了很久,都找不到响应REST得有关东东。Python有关Web Service得东东(BaseHTTPServer,CGIHTTPServer,CGIRequestHandler)似乎也没有文档支持 Service如果搞出来,启动了永远监听就好了,但是Client似乎有点麻烦,因为没有GUI,通过浏览器进行操作的话,我怎么实现启动阿?用一个Python写的cgi脚本?那样的话我的Webservice是不是还得能支持CGI请求,我总不能把CGI放到远方的Server里,通过打开那个Cgi实现吧。 这些都是目前比较困惑的问题 希望得到各位朋友们的帮助,建议,方案或者有关技术文档 谢谢! 王超 SearchReply true Tue 8 Mar, 2005 11:01:02 ... Police Truck Dead Kennedys Give Me Convenience Or Give Me Death Punk http://111.111.111.111:8080/123.mp3 >16433776 Mon 7 Mar, 2005 11:01:02 dfsdfsdfsfdfsddfs
2005年04月01日 星期五 13:27
hi,limodou, 看到NewEdit最新的安装exe,是不是安了这个就可以在没有python和wxPython的环境使用呀? -----原始邮件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn]代表 limodou 发送时间: 2005年4月1日 11:24 收件人: python-chinese at lists.python.cn 主题: Re: [python-chinese] py2exe编译出exe很大 用别的也是一样。因为exe文件要包含你的程序所用到的所有的东西,象pythonxx.dll,一些pyc,一些pyd文件,的确很大的。象wxPython程序生成安装包一般都在4M以上。 On Fri, 1 Apr 2005 10:35:58 +0800, wuliguo <wlg at cassae.ac.cn> wrote: > > 今天在windows下编译了一个使用tk的gui程序 > 程序很小,但dist目录下的文件很多 > 不知道已经在这方面有过经验的朋友能否推荐其他东东! > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- I like python! My Donews Blog: http://www.donews.net/limodou My Sina Blog: http://blog.sina.com.cn/blog/1148608914 New Google Maillist: http://groups-beta.google.com/group/python-cn _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese
2005年04月01日 星期五 13:43
用一个Web服务器即可。只是要另写一个工具,完成注册到Address Server的功 能,这样其它用户实际上直接访问你的Web服务器了,下载文件什么的都是Web服务 器来完成。 Chao Wang 写道: >P2P共享音乐客户端项目 > >客户端功能要求: >在已经提供的Address Server上注册与注销 >通过Address Server查询其他在线的Peers >发送查询请求到其他Peers >响应其他Peers得查询请求 >从其他Peers上请求文件下载 >响应其他Peers得文件下载请求 > >用浏览器作为与用户交流的界面 > >目前Address Server已经提供了 > >通过这样的URI可以实现在Address Server上注册 > >http://Server/peerdb.cgi?requestType=register&name;=username&address;=ip地址:端口号 > >注册成功后,得到如下XML回复 >> RegisterReply >true >Tue 8 Mar, 2005 11:01:02 > > >通过http://Server/~brooks/682/peerdb.cgi?requestType=unregister&name;= >可以在Address Server里注销 > >Address Server还支持这样的操作 >http://server/peerdb.cgi?requestType=findAllPeers >可以查询到所有在线的Peers > >得到如下XML回复 >> UserListReply >true >Tue 8 Mar, 2005 11:01:02 >> > liudehua > 192.3.55.6:8000 > >> zhangxueyou > 133.66.197.2:8000 > >> guofucheng >132.6.55.1:8000 > > > > >当用户想查询歌曲的时候 >发送如下请求给所有在线的Peers >http://otherpeers:port?requestType=search&field;=artist&keyword;=zhoujielun > >Peers接到这样的请求后,要从自己的XML数据库里查询是否有符合条件的歌曲,并给与下面格式的XML回复。 > >此XML数据库不要求能通过Client更新,也就是说在一开始建好一个这样的数据库,放上几个歌就OK了,格式也不用跟下面的XML一致,到时候通过XSLT转换一下就OK > >> SearchReply >true >Tue 8 Mar, 2005 11:01:02 > >> > Police Truck >Dead Kennedys >Give Me Convenience Or Give Me Death >Punk >http://111.111.111.111:8080/123.mp3 > >16433776 >Mon 7 Mar, 2005 11:01:02 >dfsdfsdfsfdfsddfs > > ... > > > > >发出查询请求的Peers把得到的XML翻译出来给用户阅读,用户选择下载哪首歌曲 > >用户决定下载后,Peer根据上面XML里的URL,发出HTTP GET请求。远方Peer响应此请求,把文件传过去。 > >基本的功能要求就是这样了。 >因为只是个教学目的的项目,所以这里不考虑Peers很多的情况,在这一假设下,发送查询请求到每个Peers是可行的 > >另外,这里不考虑因为防火墙,内网无映射等原因造成的http请求无法到达远方Peers的情况。 > >按照这样一个模型,我的Client启动的同时,也要在后台启动一个Web service,这个Service不但要能响应普通的HTTP >GET请求,还得能响应REST请求,在网上查了很久,都找不到响应REST得有关东东。Python有关Web >Service得东东(BaseHTTPServer,CGIHTTPServer,CGIRequestHandler)似乎也没有文档支持 > >Service如果搞出来,启动了永远监听就好了,但是Client似乎有点麻烦,因为没有GUI,通过浏览器进行操作的话,我怎么实现启动阿?用一个Python写的cgi脚本?那样的话我的Webservice是不是还得能支持CGI请求,我总不能把CGI放到远方的Server里,通过打开那个Cgi实现吧。 > >这些都是目前比较困惑的问题 > >希望得到各位朋友们的帮助,建议,方案或者有关技术文档 > >谢谢! > >王超 >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese > > > > -- 座右铭:不怕不会,就怕不会搜! 提点建议:大家把自己的邮件客户端设置一下,这里好多邮件是乱码,如果你们看到我的邮件是乱码,也请通知我一下,以免影响交流。
2005年04月01日 星期五 13:54
可我还得能去别人那里查歌,下载歌啊 光Web服务器不行吧 On Mar 31, 2005 9:43 PM, cpunion <cpunion at 263.net> wrote: > 用一个Web服务器即可。只是要另写一个工具,完成注册到Address Server的功 > 能,这样其它用户实际上直接访问你的Web服务器了,下载文件什么的都是Web服务 > 器来完成。 > > Chao Wang 写道: > > >P2P共享音乐客户端项目 > > > >客户端功能要求: > >在已经提供的Address Server上注册与注销 > >通过Address Server查询其他在线的Peers > >发送查询请求到其他Peers > >响应其他Peers得查询请求 > >从其他Peers上请求文件下载 > >响应其他Peers得文件下载请求 > > > >用浏览器作为与用户交流的界面 > > > >目前Address Server已经提供了 > > > >通过这样的URI可以实现在Address Server上注册 > > > >http://Server/peerdb.cgi?requestType=register&name;=username&address;=ip地址:端口号 > > > >注册成功后,得到如下XML回复 > >> > RegisterReply > >true > >Tue 8 Mar, 2005 11:01:02 > > > > > >通过http://Server/~brooks/682/peerdb.cgi?requestType=unregister&name;= > >可以在Address Server里注销 > > > >Address Server还支持这样的操作 > >http://server/peerdb.cgi?requestType=findAllPeers > >可以查询到所有在线的Peers > > > >得到如下XML回复 > >> > UserListReply > >true > >Tue 8 Mar, 2005 11:01:02 > >> > > > liudehua > > 192.3.55.6:8000 > > > >> > zhangxueyou > > 133.66.197.2:8000 > > > >> > guofucheng > >132.6.55.1:8000 > > > > > > > > > >当用户想查询歌曲的时候 > >发送如下请求给所有在线的Peers > >http://otherpeers:port?requestType=search&field;=artist&keyword;=zhoujielun > > > >Peers接到这样的请求后,要从自己的XML数据库里查询是否有符合条件的歌曲,并给与下面格式的XML回复。 > > > >此XML数据库不要求能通过Client更新,也就是说在一开始建好一个这样的数据库,放上几个歌就OK了,格式也不用跟下面的XML一致,到时候通过XSLT转换一下就OK > > > >> > SearchReply > >true > >Tue 8 Mar, 2005 11:01:02 > > > >> > > > Police Truck > >Dead Kennedys > >Give Me Convenience Or Give Me Death > >Punk > >http://111.111.111.111:8080/123.mp3 > > >16433776 > >Mon 7 Mar, 2005 11:01:02 > >dfsdfsdfsfdfsddfs > > > > ... > > > > > > > > > >发出查询请求的Peers把得到的XML翻译出来给用户阅读,用户选择下载哪首歌曲 > > > >用户决定下载后,Peer根据上面XML里的URL,发出HTTP GET请求。远方Peer响应此请求,把文件传过去。 > > > >基本的功能要求就是这样了。 > >因为只是个教学目的的项目,所以这里不考虑Peers很多的情况,在这一假设下,发送查询请求到每个Peers是可行的 > > > >另外,这里不考虑因为防火墙,内网无映射等原因造成的http请求无法到达远方Peers的情况。 > > > >按照这样一个模型,我的Client启动的同时,也要在后台启动一个Web service,这个Service不但要能响应普通的HTTP > >GET请求,还得能响应REST请求,在网上查了很久,都找不到响应REST得有关东东。Python有关Web > >Service得东东(BaseHTTPServer,CGIHTTPServer,CGIRequestHandler)似乎也没有文档支持 > > > >Service如果搞出来,启动了永远监听就好了,但是Client似乎有点麻烦,因为没有GUI,通过浏览器进行操作的话,我怎么实现启动阿?用一个Python写的cgi脚本?那样的话我的Webservice是不是还得能支持CGI请求,我总不能把CGI放到远方的Server里,通过打开那个Cgi实现吧。 > > > >这些都是目前比较困惑的问题 > > > >希望得到各位朋友们的帮助,建议,方案或者有关技术文档 > > > >谢谢! > > > >王超 > >_______________________________________________ > >python-chinese list > >python-chinese at lists.python.cn > >http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > -- > 座右铭:不怕不会,就怕不会搜! > > 提点建议:大家把自己的邮件客户端设置一下,这里好多邮件是乱码,如果你们看到我的邮件是乱码,也请通知我一下,以免影响交流。 > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese >
2005年04月01日 星期五 13:59
是的。不过那个exe也不是最新的。改动的一些东西还没有完全转成exe On Apr 1, 2005 1:27 PM, Liming_Do <Liming_Do at smics.com> wrote: > hi,limodou, > 看到NewEdit最新的安装exe,是不是安了这个就可以在没有python和wxPython的环境使用呀? > > -----原始邮件----- > 发件人: python-chinese-bounces at lists.python.cn > [mailto:python-chinese-bounces at lists.python.cn]代表 limodou > 发送时间: 2005年4月1日 11:24 > 收件人: python-chinese at lists.python.cn > 主题: Re: [python-chinese] py2exe编译出exe很大 > > 用别的也是一样。因为exe文件要包含你的程序所用到的所有的东西,象pythonxx.dll,一些pyc,一些pyd文件,的确很大的。象wxPython程序生成安装包一般都在4M以上。 > > On Fri, 1 Apr 2005 10:35:58 +0800, wuliguo <wlg at cassae.ac.cn> wrote: > > > > 今天在windows下编译了一个使用tk的gui程序 > > 程序很小,但dist目录下的文件很多 > > 不知道已经在这方面有过经验的朋友能否推荐其他东东! > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > -- > I like python! > My Donews Blog: http://www.donews.net/limodou > My Sina Blog: http://blog.sina.com.cn/blog/1148608914 > New Google Maillist: http://groups-beta.google.com/group/python-cn > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- I like python! My Donews Blog: http://www.donews.net/limodou My Sina Blog: http://blog.sina.com.cn/blog/1148608914 New Google Maillist: http://groups-beta.google.com/group/python-cn
2005年04月01日 星期五 14:21
你只需要给用户显示下载的链接,用户点击以后可以链接到别人的服务器上下载, 一样可以下载到。 如果你是要让用户看不出是从别处下载的,用一个jumpgate就可以了,为每个远方 的服务器在本机上开一个端口来跳转。 完整的过程如下: 1、Web服务器启动 2、注册工具启动,注册Web服务器IP和端口到Address Server,并findAllPeers, 得到其它服务器IP和端口,为每个其它的服务器调用jumpgate做个跳转,并保存跳 转列表jump_list。 3、用户查询时,访问的是你的Web服务器,在查询页面后台向其它服务器查询,并 把查询结果显示给用户,不过文件链接将替换成你的服务器跳转端口。Web 服务器 要根据jump_list的内容进行查询,并根据jump_list把文件下载链接全部替换成本 机不同端口,以隐藏真实链接。 4、用户点击链接,下载文件的请求会转向到其它服务器,而用户无法感知。 以上算是个最简的实现,只需要编写一个注册工具,维护jump_list,编写一个查 询页面即可。 国外有一种职称叫“系统中和(综合)工程师”,也不知道是不是这几个字,前段时 间听说的,不知道国内是否有相应的称呼,完成的工作大致就是这样,要会多种平 台、语言、库,把别人写好的平台、库用很简单的方式组成一个可用的系统。 Chao Wang 写道: >可我还得能去别人那里查歌,下载歌啊 >光Web服务器不行吧 > > -- 座右铭:不怕不会,就怕不会搜! 提点建议:大家把自己的邮件客户端设置一下,这里好多邮件是乱码,如果你们看到我的邮件是乱码,也请通知我一下,以免影响交流。
2005年04月01日 星期五 16:46
谢谢 很受启发 到不用那么麻烦做跳转,既然是P2P,看到其他Peers也就无所谓了 不过现在的问题困在不知道如何用Python写能够处理REST请求的Web service,网上相关资料几乎没有,比较郁闷。 那个系统中和(综合)工程师,还真是第一次听说,我的这个好像不需要那么复杂把,呵呵 On Mar 31, 2005 10:21 PM, cpunion <cpunion at 263.net> wrote: > 你只需要给用户显示下载的链接,用户点击以后可以链接到别人的服务器上下载, > 一样可以下载到。 > > 如果你是要让用户看不出是从别处下载的,用一个jumpgate就可以了,为每个远方 > 的服务器在本机上开一个端口来跳转。 > > 完整的过程如下: > 1、Web服务器启动 > 2、注册工具启动,注册Web服务器IP和端口到Address Server,并findAllPeers, > 得到其它服务器IP和端口,为每个其它的服务器调用jumpgate做个跳转,并保存跳 > 转列表jump_list。 > 3、用户查询时,访问的是你的Web服务器,在查询页面后台向其它服务器查询,并 > 把查询结果显示给用户,不过文件链接将替换成你的服务器跳转端口。Web 服务器 > 要根据jump_list的内容进行查询,并根据jump_list把文件下载链接全部替换成本 > 机不同端口,以隐藏真实链接。 > 4、用户点击链接,下载文件的请求会转向到其它服务器,而用户无法感知。 > > 以上算是个最简的实现,只需要编写一个注册工具,维护jump_list,编写一个查 > 询页面即可。 > > 国外有一种职称叫"系统中和(综合)工程师",也不知道是不是这几个字,前段时 > 间听说的,不知道国内是否有相应的称呼,完成的工作大致就是这样,要会多种平 > 台、语言、库,把别人写好的平台、库用很简单的方式组成一个可用的系统。 > > Chao Wang 写道: > > >可我还得能去别人那里查歌,下载歌啊 > >光Web服务器不行吧 > > > > > -- > > 座右铭:不怕不会,就怕不会搜! > > 提点建议:大家把自己的邮件客户端设置一下,这里好多邮件是乱码,如果你们看到我的邮件是乱码,也请通知我一下,以免影响交流。 > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese >
2005年04月01日 星期五 17:55
Bo Yang的那封邮件里有REST处理的文章。 如果你不是做一个能用的REST处理框架/库,只是面向你这里的特定应用,其实也 不用考虑那么复杂,自己生成和解析也不是很复杂。 Chao Wang 写道: >谢谢 >很受启发 >到不用那么麻烦做跳转,既然是P2P,看到其他Peers也就无所谓了 >不过现在的问题困在不知道如何用Python写能够处理REST请求的Web service,网上相关资料几乎没有,比较郁闷。 > > -- 座右铭:不怕不会,就怕不会搜! 提点建议:大家把自己的邮件客户端设置一下,这里好多邮件是乱码,如果你们看到我的邮件是乱码,也请通知我一下,以免影响交流。
Zeuux © 2025
京ICP备05028076号