问题标签 [rpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3821 浏览

python - 具有流式传输能力的 Python JSON RPC 服务器

我遇到了几个关于实现 python JSON RPC 服务器的指南和包,例如:

从服务器/应用程序实现非常简单的意义上说,它们都做得很好,您只需返回 python 对象作为结果,框架会负责序列化它。但是,这不适合我的需求,主要是因为我期待从数据库中序列化可能数千条记录,而这样的解决方案将要求我创建一个包含所有记录的单个 python 对象并将其作为结果返回。

我正在寻找的理想解决方案将涉及一个框架,该框架将为应用程序提供一个用于写入响应的流和一个 JSON 编码器,该编码器可以动态编码迭代器(在本例中为来自 pyodbc 的游标),如下所示:

有人可以指出一个服务器框架,它可以为我提供一个要写入的流和一个 json 序列化框架,它可以处理诸如 pyodbc 游标之类的可迭代对象并即时对其进行序列化。

0 投票
2 回答
2047 浏览

c# - WTSQueryUserToken 失败,getlasterror() 返回 1723

我有一个在系统帐户凭据下运行的 Windows 服务。该服务定期轮询窗口以获取活动控制台会话 ID,即交互式登录的 Windows 用户,然后通过调用 wtsapi32.dll 函数 WTSQueryUserToken(...) 检索与活动控制台会话 ID 关联的用户令牌。此实施在现场 99.9% 的时间都完美无缺。然而,最近,我发现一个客户,该实现定期(但从未一致地)无法检索活动控制台会话 ID 的用户令牌。

在这篇文章的底部查看客户的操作系统信息。

当 WTSQueryUserToken() 失败时,GetLastError() 返回 Windows 系统错误代码 1723。

错误代码1723的描述:“RPC服务器太忙,无法完成此操作”</p>

这是演示实现的示例代码片段:

有谁知道可能是罪魁祸首?

这是客户的设置:

  • 身份验证:活动目录
  • 操作系统:
  • Microsoft Windows NT 5.1.2600 服务
  • 包 3 当前 UI 文化:en-US
  • 当前文化:en-US CLR
  • 版本:2.0.50727.3603
  • IE版本:8.0.6001.18702
  • 系统类型:32位免费
  • 物理内存:总计 411MB
  • 物理内存:893MB 系统
  • 制造商:戴尔公司
  • 型号:Vostro 1000
  • 处理器 1:AMD Athlon(tm) 64 X2 双核处理器 TK-57

服务:

名称:警报器启动模式:禁用状态:停止名称:应用层网关服务启动模式:手动状态:运行名称:Apple 移动设备启动模式:自动状态:运行名称:应用程序管理启动模式:手动状态:停止名称:ASP。 NET 状态服务启动模式:手动状态:停止名称:Ati HotKey Poller 启动模式:自动状态:运行名称:Windows 音频启动模式:自动状态:运行名称:后台智能传输服务启动模式:自动状态:运行名称:Bonjour 服务启动模式:自动状态:运行名称:计算机浏览器启动模式:自动状态:运行名称:索引服务启动模式:手动状态:停止名称:剪贴簿启动模式:禁用状态:停止名称:.NET 运行时优化服务 v2.0.50727_X86 启动模式:手动状态:停止名称:COM+ 系统应用程序启动模式:手动状态:停止名称:加密服务启动模式:自动状态:运行名称:DCOM 服务器进程启动器启动模式:自动状态:运行名称:DHCP 客户端启动模式:自动状态:运行名称:逻辑磁盘管理器管理服务启动模式:手动状态:停止名称:逻辑磁盘管理器启动模式:自动状态:运行名称:DNS客户端启动模式:自动状态:运行名称:有线 AutoConfig 启动模式:手动状态:停止名称:可扩展身份验证协议服务启动模式:手动状态:停止名称:错误报告服务启动模式:禁用状态:停止名称:事件日志启动模式:自动状态:运行名称:COM+ 事件系统启动模式:手动状态:运行名称:快速用户切换兼容性启动模式:手动状态:停止名称:FlipShare 服务启动模式:自动状态:运行名称:Windows Presentation Foundation Font Cache 3.0.0.0 启动模式:手动状态:停止名称:帮助和支持 启动模式:自动 状态:运行名称:HID 输入服务启动模式:自动 状态:运行名称:健康密钥和证书管理服务启动模式:手动状态:已停止名称:HTTP SSL 启动模式:手动状态:已停止名称:InstallDriver 表管理器启动模式:手动状态:已停止名称:Windows CardSpace 启动模式:手动状态:已停止名称:IMAPI CD-Burning COM 服务启动模式:禁用状态:停止名称:iPod 服务启动模式:手动状态:停止名称:Java Quick Starter 启动模式:禁用状态:停止名称:服务器启动模式:自动状态:运行名称:工作站启动模式:自动状态:运行名称:TCP/IP NetBIOS 助手启动模式:自动状态:运行名称:McAfee Framework 服务启动模式:自动状态:运行名称:McAfee McShield 启动模式:自动状态:运行名称:McAfee 任务管理器启动模式:自动状态:运行名称:机器调试管理器启动模式:自动状态:运行名称:Messenger 启动模式: 已禁用 状态:已停止 名称:Vision Control Manager 启动模式:已禁用 状态:已停止 名称:NetMeeting 远程桌面共享 启动模式:已禁用 状态:已停止 名称:分布式事务协调器 启动模式:手动 状态:已停止 名称:Windows Installer 启动模式:手动状态:已停止名称:网络访问保护代理启动模式:手动状态:已停止名称:网络 DDE 启动模式:已禁用 状态:已停止 名称:网络 DDE DSDM 启动模式:已禁用 状态:已停止 名称:网络登录 启动模式:自动 状态:运行 名称:网络连接 启动模式:手动 状态:运行 名称:Net.Tcp 端口共享服务启动模式:禁用状态:停止名称:网络位置感知 (NLA) 启动模式:手动状态:运行名称:NLCS 代理启动模式:自动状态:运行名称:NT LM 安全支持提供程序启动模式:禁用状态:停止名称:可移动存储启动模式:手动状态:停止名称:Microsoft Office 诊断服务启动模式:禁用状态:停止名称:Office Source Engine 启动模式:手动 状态:停止 名称:即插即用 启动模式:自动 状态:运行 名称:Pml Driver HPZ12 启动模式:自动 状态:停止 名称:IPSEC 服务 启动模式:自动 状态:运行 名称:受保护的存储启动模式:自动状态:运行名称:远程访问自动连接管理器启动模式:手动状态:停止名称:远程访问连接管理器启动模式:手动状态:停止名称:远程桌面帮助会话管理器启动模式:手动状态:停止名称:路由和远程访问启动模式:禁用状态:停止名称:远程注册表启动模式:禁用状态:停止名称:远程过程调用 (RPC) 定位器启动模式:手动状态:停止名称:远程过程调用 (RPC) 启动模式:自动状态:运行名称:QoS RSVP 启动模式:手动状态:停止名称:安全帐户管理器启动模式:自动状态:运行名称:智能卡启动模式:手动状态:已停止名称:任务计划程序启动模式:自动状态:运行名称:辅助登录启动模式:自动状态:运行名称:系统事件通知启动模式:自动状态:运行名称:Windows防火墙/Internet 连接共享 (ICS) 启动模式:自动状态:运行名称:Shell 硬件检测启动模式:自动状态:运行名称:Print Spooler 启动模式:自动状态:运行名称:系统还原服务启动模式:自动状态:停止名称:SSDP 发现服务启动模式:手动状态:运行名称:Windows 图像采集 (WIA) 启动模式:自动状态:运行名称: MS Software Shadow Copy Provider 启动模式:手动 状态:已停止 名称:系统接口 服务启动模式:自动 状态:运行 名称:性能日志和警报 启动模式:已禁用 状态:已停止 名称:电话 启动模式:已禁用 状态:已停止 名称:终端服务启动模式:手动状态:运行名称:主题启动模式:禁用状态:停止名称:Telnet 启动模式:禁用状态:停止名称:分布式链路跟踪客户端启动模式:自动状态:运行名称:通用即插即用设备主机启动模式:手动状态:停止名称:不间断电源启动模式:禁用状态:停止名称:卷影复制启动模式:手动 状态:已停止 名称:Windows 时间 启动模式:自动 状态:运行 名称:WebClient 启动模式:自动 状态:运行 名称:Windows Defender 启动模式:自动 状态:运行 名称:Windows Management Instrumentation 启动模式:自动 状态:运行名称:戴尔无线 WLAN 托盘服务启动模式:自动状态:运行名称:Portable Media 序列号服务启动模式:已禁用状态:已停止名称:Windows Management Instrumentation 驱动程序扩展启动模式:手动状态:已停止名称:WMI 性能适配器启动模式:手动状态:已停止名称:Windows Media Player 网络共享服务启动模式:手动状态:已停止名称:安全中心启动模式:自动状态:已停止名称:Windows 搜索启动模式:自动状态:运行名称:自动更新启动模式:自动状态:运行名称:Windows 驱动程序基础 - 用户模式驱动程序框架启动模式:手动状态:停止名称:无线零配置启动模式:自动状态:停止名称:Network Provisioning Service 启动模式:手动 状态:已停止

流程:

名称:系统空闲进程工作集:28KB 名称:系统工作集:244KB 名称:smss.exe 工作集:428KB 名称:csrss.exe 工作集:3984KB 名称:winlogon.exe 工作集:3944KB 名称:services.exe 工作集:3612KB 名称:lsass.exe 工作集:5344KB 名称:ati2evxx.exe 工作集:3036KB 名称:svchost.exe 工作集:5076KB 名称:svchost.exe 工作集:5384KB 名称:MsMpEng.exe 工作集:39384KB 名称:svchost .exe 工作集:23792KB 名称:svchost.exe 工作集:4280KB 名称:svchost.exe 工作集:4944KB 名称:WLTRYSVC.EXE 工作集:1652KB 名称:BCMWLTRY.EXE 工作集:9820KB 名称:spoolsv.exe 工作集: 8364KB 名称:svchost.exe 工作集:5356KB 名称:AppleMobileDeviceService.exe 工作集:4284KB 名称:mDNSResponder.exe 工作集:4368KB 名称:FlipShareService.exe 工作集:5316KB 名称:FrameworkService.exe 工作集:6048KB 名称:mcshield.exe 工作集:55800KB 名称:vstskmgr.exe 工作集:564KB 名称:mdm.exe 工作集:2748KB 名称:csagtprosvc.exe 工作集:5644KB 名称:naPrdMgr.exe 工作集:2044KB 名称:svchost.exe 工作集:4308KB 名称:searchindexer .exe 工作集:20460KB 名称:svchost.exe 工作集:21864KB 名称:unsecapp.exe 工作集:3828KB 名称:alg.exe 工作集:4336KB 名称:wmiprvse.exe 工作集:7576KB 名称:ati2evxx.exe 工作集:3600KB 名称:explorer.exe 工作集:33096KB 名称:SynTPEnh.exe 工作集:4736KB 名称:WLTRAY.EXE 工作集:6644KB 名称:MSASCui.exe 工作集:7824KB 名称:shstat.exe 工作集:820KB 名称:UdaterUI.exe 工作集:2304KB 名称:stsystra.exe 工作集:8100KB 名称:Mctray.exe 工作集:2396KB 名称:ctfmon.exe 工作集:3252KB 名称:DyKnowLogSender.exe 工作集:23972KBexe 工作集:2304KB 名称:stsystra.exe 工作集:8100KB 名称:Mctray.exe 工作集:2396KB 名称:ctfmon.exe 工作集:3252KB 名称:DyKnowLogSender.exe 工作集:23972KBexe 工作集:2304KB 名称:stsystra.exe 工作集:8100KB 名称:Mctray.exe 工作集:2396KB 名称:ctfmon.exe 工作集:3252KB 名称:DyKnowLogSender.exe 工作集:23972KB

0 投票
2 回答
2224 浏览

flash - 没有 services-config.xml 的 Flash RemoteObject Weborb 连接(没有 Flex)

上下文:我正在开发一个使用 FDT 开发并使用 Flash CS4 编译的 Flash 应用程序(我需要一个巨大的库)。它应该连接到各种 Weborb 服务。

Weborb 已正确配置。我的服务通过管理控制台正确执行并返回值。Weborb 示例以及使用 Flex 编译的各种测试功能齐全。

问题:当我尝试调整代码以使用 Flash 编译,并像这样设置远程对象时:

我得到以下错误:

如果我尝试以这种方式设置频道:

然后我得到这个错误:

问题:如何正确设置 RemoteObject 以从使用 Flash 编译的 Flash 应用程序连接到 Weborb 远程服务?

这让我发疯了。

0 投票
1 回答
338 浏览

windows - 如何使用 RpcRaiseException() 进行良好的错误处理?

MS RPC 运行时中有一个RpcRaiseException()函数可以指示在服务器端的 RPC 调用或客户端的管道回调中发生的错误。传入的 RPC_STATUSRpcRaiseError()会传播到 RPC 调用的站点。

问题是如何选择 RPC_STATUS 值?

在管道pull()回调中说,我从中读取数据IStream*并将该数据输入管道。现在IStream::Read()返回一个HRESULT指示错误,我需要调用RpcRaiseException()以中断调用。

我传递了什么价值?

0 投票
1 回答
1717 浏览

django - 使用像 Protocol Buffers 这样的 RPC 作为 Django 的后端,而不是 MySQL 或 SQLite

app-engine-patch项目背后的聪明人基本上启用了 Django 的所有有趣的东西,包括管理员,但没有使用 Django 的 ORM。

从他们的网站:

最重要的变化是你必须使用 Google 的Model类,因为开发模型与 Django 相差太大(至少与 Django 当前的 API 不同)。

这本质上是我想做的,但是通过 RPC 使用Google 的协议缓冲区作为数据传输层。

在他们的 addressbook.proto 示例中使用 Person 消息,我基本上想这样做:

0 投票
2 回答
1276 浏览

ajax - 是否可以为每个 GWT RPC 调用无缝显示 ajax 微调器?

我有一个大量使用 RPC 调用的 GWT 应用程序。每当通话进行时,我想显示一个微调器图标。显示图标很容易,但我想在一个地方无缝地做到这一点,所以我不必为每个呼叫显式隐藏和显示图标。

我想我正在寻找类似于 jQuery 的 ajaxStart 和 ajaxStop 事件的东西。

有没有人做过这样的事情?

干杯锡

0 投票
1 回答
330 浏览

rpc - 对于 RPC 调用,是否需要序列化才能将数据返回给调用客户端?

对于 RPC 调用,是否需要序列化才能将数据返回给调用客户端?

如果没有,那一般是怎么做的?

0 投票
1 回答
171 浏览

ruby-on-rails - Invoking ONC RPC from Ruby?

I have a Ruby (Rails) app that needs to make some calls to a service exposed via ONC RPC. Is there a way I can readily accomplish this in Ruby or do I need to create a proxy service using another language?

FWIW, my target platform is CentOS.

Thanks!

0 投票
2 回答
2495 浏览

c# - 远程 COM 服务器实例化

我有一个 COM 接口来启动和使用程序。这在本地机器上效果很好。是否有可能通过网络在另一台机器上启动该程序,而无需在其上安装其他软件或更改程序?

0 投票
8 回答
120331 浏览

python - 目前在 Python 中进行 RPC 的选择是什么?

实际上,我已经用 Pyro 和 RPyC 做了一些工作,但是 RPC 实现比这两个要多。我们可以列出它们吗?

基于 Python 的原生协议:

带有很多底层协议的 RPC 框架:

基于 JSON-RPC 的框架:

肥皂:

基于 XML-RPC 的框架:

其他: