任何人都可以推荐一些简单的代码来设置一个简单的JSON RPC客户端和服务器使用twisted?
我找到了txJSON-RPC,但我想知道是否有人有一些使用这些anc的经验可以推荐一些东西.
在为基于智能卡的加密狗开发软件保护库的过程中,我意识到我需要在加密狗内部的客户端应用程序和代码之间来回传输一些树状数据结构.
那么,在使用Web服务时,XML-RPC或JSON-RPC等技术是合理的考虑方式.但是,智能卡等嵌入式设备并非如此.您需要使用一些二进制格式来优化内存使用并获得良好的性能.
我想我需要的是实现一些二进制数据编组算法.我不喜欢重新发明整个轮子的想法,我非常确定有很多关于编组这类问题的书籍,文章和例子.
你会推荐什么?
UPD. 我在Linux上使用C和C++,但问题是关于编组算法的一般信息.
是否有任何与承诺一起使用的 RPC 模块?
在服务器上,我有返回承诺的函数。我想向浏览器客户端公开它们以通过 websockts 或回退调用。我找到了一些 RPC 库,例如 dnode,但他们希望回调作为参数。
我想要这样的东西:
服务器:
rpc.expose({ 超时:函数(时间){ var d = Q.defer(); 设置超时(函数(){ d.解决(); }, 时间); 返回 d. 承诺; } });
客户:
rpc.timeout(2000).then(function() { console.log('完成'); });
我想开发一个需要使用GWT和GAE进行数据持久化的Web应用程序.据我了解,我唯一(或至少是最方便的)数据持久性选项是GAE的数据存储区,使用JDO或JPA注释对象.我还希望能够使用GWT远程过程调用(RPC)来回发送我的对象客户端 - 服务器,因此我的对象必须能够"分离".但是,GWT RPC序列化无法处理分离的JDO/JPA对象,并且它似乎不会在不久的将来出现.
我的问题:对此最简单,最直接的解决方案是什么?能够与服务器端持久性共享相同的客户端/服务器对象将非常方便.
编辑
我应该澄清一点,我仍然希望将GWT RPC与GAE的数据存储区一起使用.我只是在寻找能够让所有这些技术协同工作的最佳解决方案.
我正在开发一个使用thrift的系统.我希望检查客户端身份并对ACL进行操作.Thrift是否为那些人提供任何支持?
我正在经历rpc语义,至少一次和最多一次的语义,它们是如何工作的?
无法理解其实施的概念.
我需要一个可以通过Internet控制的作业队列管理器.它应该能够执行和停止进程,检查它们的状态(理想情况下通知并在进程退出时执行一些代码),响应命令并且还能够向服务器报告.
背景:我有一个GWT应用程序,允许创建在云实例(目前是EC2)上执行的作业.我想将"作业包"(进程操作的数据等)推送到S3,启动Linux EC2实例(或使用已经运行的实例),并告诉实例上的作业管理器执行该作业(可能与其他工作平行).然后,它应该从S3中提取"作业数据包",运行对该数据进行操作的进程,并使用一些信息(例如退出代码,stdout,stderr)向运行GWT应用程序的服务器部分的服务器报告.如果我必须将stdour/err写入进程中的文件并读取该文件,那也没关系.
我真的希望管理器"关闭"它运行的进程,这意味着我想避免使用来自JDK的Runtime.exec之类的东西.如果我以Quartz为例,似乎我必须这样做.
我很好,两个方向的调用都是异步的.只要我可以在我的GWT服务器端轻松地为它构建一个接口(例如,通过SSL对servlet的HTTP请求将是非常简单的),我对任何合理的调用技术都很好.
作业管理员不需要非常复杂的排队系统.顺序或并行运行几个进程应该没问题.确定一个进程在其生命周期内收到的计算时间是多么好(AFAIK,这可能具有挑战性).
我还没有找到任何现有的软件,包括http://java-source.net/open-source/job-schedulers.我怀疑我可能需要围绕一个职业经理建立一个RPC接口(当然还有身份验证等); 也许使用像Apache Commons Exec这样的东西.在这种情况下,我更喜欢Java或Python作为工作管理器部分.
我很乐意听到前一个或后一个场景的建议!
我有一个怪异的Java应用程序(鲜为人知的应用程序服务器GNUEnterprise的客户端)及其源代码,我可以在对其进行一些更改后编译回来.该应用程序大量使用网络,我需要监控每个请求和响应.我可以使用像Wireshark这样的嗅探器,但该应用程序可以通过SSL使用其服务器,因此不知道SSL证书的私钥任何嗅探流量都是无用的.
如何从应用程序本身记录每个请求和响应,我该怎么办?我需要查看所有已发送和已接收的标头.我不想改变负责网络交互的所有代码.我想要的是像一个代码
Network.setDefaultLogger(myCustomLoggerInstance);
Run Code Online (Sandbox Code Playgroud)
在应用程序启动附近的某个地方,然后myCustomLoggerInstance
执行我需要的所有日志记录.
此外,鉴于所有网络操作都是用URLConnection
s进行的,我可以获得响应头con.getHeaderFields()
和请求头con.getRequestProperties()
.但为什么饼干不存在?如何以相同的方式转储发送和接收的cookie?
编辑:我想要达到的目的是模仿RPC应用程序与SSL服务器的通信,比如使用curl
.为此,我需要获取应用程序网络流量的详细日志.
我有机会花费大量时间尝试在单声道中使用WCF.对于玩具应用之外的任何东西,此时实施起来实施得太差,无法投入生产环境.它不能在24/7负载下存活.
我目前在生产环境中运行Mono上的WCF,但我需要远离它,至少在近期内,为我的软件带来稳定性.目前,我通过每隔几个小时重新启动进程而幸存下来,而这往往是不够的.
我正在寻找潜在的替代品.我的所有通信实体都是基于.net的,其中一些是Linux上的Mono,另一些是Windows Server上的ms.net.我很想用protobuf-net作为序列化层来推广我自己的RPC 层,但我不想这样做.protobuf-net的一大优点是它具有良好的C++支持,这是我重视的东西.
有没有人在Mono上实现RPC的稳定性?如果是这样,你做了什么?
更新:我没有提到我正在寻找有状态的双工消息.这是一个非常重要的信息.我并没有坚持下去,但我非常想要它.WCF为此提供net-tcp双工通道.
是否有一些(工作)示例如何从Windows创建RPC到Linux?
客户端应该是windows NT应用程序,服务器是linux.
它需要是MSRPC.
没有Corba,没有XML-RPC,SUN-RPC等
MSDN说这个:
RPC可以在基于Windows操作系统的所有客户端/服务器应用程序中使用.它还可用于为包含Unix和Apple等操作系统的异构网络环境创建客户端和服务器程序.
不幸的是,在Google上花了几个小时后我就放弃了.
我的期望:
有人能指出我吗?