﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-socketref-随笔分类-Ice/xmlrpc</title><link>http://www.cppblog.com/socketref/category/484.html</link><description>喜欢ACE,boost,stl</description><language>zh-cn</language><lastBuildDate>Mon, 19 May 2008 21:10:59 GMT</lastBuildDate><pubDate>Mon, 19 May 2008 21:10:59 GMT</pubDate><ttl>60</ttl><item><title>tinyRpc 基于tcp/xml的rpc服务器 [dev...]</title><link>http://www.cppblog.com/socketref/archive/2006/01/02/2352.html</link><dc:creator>放屁阿狗</dc:creator><author>放屁阿狗</author><pubDate>Sun, 01 Jan 2006 16:52:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2006/01/02/2352.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/2352.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2006/01/02/2352.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/2352.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/2352.html</trackback:ping><description><![CDATA[<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参阅 <A href="http://www.xmlrpc.org">www.xmlrpc.org</A>&nbsp;的xmlrpc规范，发现其规格比较简单，网站list top50中xmlrpc的不同语言的实现，研究了xmlrpc-c,sexyRcp,phpRpc等代码，发现其都实现比较复杂，有些只是提供了xmlrpc的语言规格实现，但没有实现网络传输的功能。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由于xmlrpc规范的网络传输采用http，一个请求必须创建一次tcp的交互，导致性能上得不到提高，而且只是单向调用等限制，我考虑重新编写xmlrpc的实现，提供xmlrpc-server,简化其操作接口,支持在客户机和服务器之间保持一个tcp连接，持续的进行xmlrpc双向调用.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;支持语言:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C++ / Python<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;计划时间:&nbsp;&nbsp;&nbsp;2005.12.31&nbsp;&nbsp;&nbsp;&nbsp;~ 2006.1.3<BR><BR>2006.1.4&nbsp;&nbsp;&nbsp;&nbsp;完成rpcServer c++版本</P><img src ="http://www.cppblog.com/socketref/aggbug/2352.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁阿狗</a> 2006-01-02 00:52 <a href="http://www.cppblog.com/socketref/archive/2006/01/02/2352.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>离0.1版本还有一点点</title><link>http://www.cppblog.com/socketref/archive/2005/12/11/1679.html</link><dc:creator>放屁阿狗</dc:creator><author>放屁阿狗</author><pubDate>Sun, 11 Dec 2005 12:20:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2005/12/11/1679.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/1679.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2005/12/11/1679.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/1679.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/1679.html</trackback:ping><description><![CDATA[<P>
<HR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;系统在闲暇之余慢慢进行，没有写任何设计文档，所有的设计都在脑子里面，对于结构非常清晰，没有合适的合作伙伴，只能慢慢做<IMG height=19 src="http://www.cppblog.com/Emoticons/cry_smile.gif" width=19 border=0><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fas,eserver,febean,code_bean,mplayer基本完成并进行了简单测试，css完成大部分编码，与alice的rpc完成通信，已经能够通过http访问基本的系统功能，通过操作浏览器可以访问前端媒体设备。前端设备只是接入了一个deskCam,用xvid编解码，不过没有关系<IMG height=19 src="http://www.cppblog.com/Emoticons/teeth_smile.gif" width=19 border=0><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;今天写到了css与alice的xmlrpc通信部分，对于资料查询，录像启动，停止等操作即将加入<BR>可是接下来公司要派遣出差，可能又要耽误了<IMG height=20 src="http://www.cppblog.com/Emoticons/hitwall.gif" width=25 border=0><BR><BR><STRONG><U>近期计划:</U></STRONG><BR>2005.12.12~2005.12.30:<BR>&nbsp;&nbsp;1.完成css录像和存储的剩余编码和调试,提供web接口启动录像,查询录像资料和录像的回放<BR>&nbsp;&nbsp;2.修改mplayer控件,增加本地录像,抓拍,回放工功能,并进一步调试稳定<BR>&nbsp;&nbsp;3.提供简单的web系统,可以进行浏览,控制,回放(不提供其他管理,诸如用户,设备管理)<BR>&nbsp;&nbsp;2006.01.01~2006.01.30<BR>&nbsp;&nbsp;1.整体联测完成&nbsp;<BR>&nbsp;&nbsp;2.增加接入另外一款设备,比如acti或者smartsight<BR>&nbsp;&nbsp;3.所有系统模块入cvs&nbsp;&nbsp;<BR>&nbsp; 4.推出0.1版本<IMG height=19 src="http://www.cppblog.com/Emoticons/coffee.gif" width=19 border=0><BR>&nbsp; </P><img src ="http://www.cppblog.com/socketref/aggbug/1679.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁阿狗</a> 2005-12-11 20:20 <a href="http://www.cppblog.com/socketref/archive/2005/12/11/1679.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一种持续的xmlrpc实现</title><link>http://www.cppblog.com/socketref/archive/2005/12/02/1481.html</link><dc:creator>放屁阿狗</dc:creator><author>放屁阿狗</author><pubDate>Fri, 02 Dec 2005 01:26:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2005/12/02/1481.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/1481.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2005/12/02/1481.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/1481.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/1481.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlrpc的标准是xml+http的实现，但是在应用过程中发现基于http的协议必然造成客户机每次rpc调用都要进行连接服务器，导致的开销增大；还有一个问题在于服务端实现method的注册回掉，而不像RMI那样两端都能注册服务方法，如果客户机也要增加回调method的话，也必须起xmlrpc的服务<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlrpc-c-1.03.06&nbsp; <A href="http://xmlrpc-c.sourceforge.net">http://xmlrpc-c.sourceforge.net</A> 一种xmlrpc的c语言的实现，通过观看其代码，发现他选择abyss 作为自己的通信接口来提供http服务，由于是基于http的，如果作为服务通信接口的话就不太理想了，比如两个系统要经常进行双向通信，交互的频率很高的话，会导致这种通信的开销非常大，而且都是单向通信（一般服务端不能主动调用客户端的rcp方法）。由于是单向通信，造成了比如 外部网络无法穿透防火墙连接到内部主机的问题，更谈不上进一步的xmlrpc调用。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所以我想基于xmlrpc-c的改造，替换掉abyss这个web服务器的通信接口，提供一种基于tcp的常连接的通信方法，使客户机和服务器都能同时注册自己的回调函数，然后通过两者之间的tcp连接进行传送xmlrp数据包。<BR><BR>
<P align=center><IMG height=144 alt=002.bmp src="http://www.cppblog.com/images/cppblog_com/socketref/002.bmp" width=511 border=0></P><img src ="http://www.cppblog.com/socketref/aggbug/1481.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁阿狗</a> 2005-12-02 09:26 <a href="http://www.cppblog.com/socketref/archive/2005/12/02/1481.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>