问题标签 [distributed-objects]

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 投票
2 回答
1096 浏览

cocoa - 手动创建远程 NSSocketPort 时的 Cocoa 分布式对象异常

这真的让我很头疼,我希望有人能解决我的问题。

我正在尝试使用 Cocoa 学习分布式对象、bonjour 等。

我可以让事情正常运行,但只有一个案例让我很恼火,我不明白为什么会这样。

我正在尝试设置一个用 Bonjour 做广告的 DO 服务器。

这是相关的服务器代码:

对于客户端,我将跳过一些代码示例,我使用 NSNetServiceBrowser 并搜索适当的服务。它发现服务(NSNetService)正常。我在服务上调用resolveWithTimeout,效果也很好。

解决服务后,我尝试连接到它。

如果我这样连接:

然后一切正常,clientObject 被初始化,我们都很高兴。

但是如果我这样做 - “手动”创建一个远程 TCPPort 而不是使用 NSSocketPortNameServer

然后对connection.rootProxy的调用总是抛出异常:“ [NSPortCoder sendBeforeTime:sendReplyPort:] timed out

这是为什么?

我可以在两个不同的端口对象上执行的所有日志记录显示它们之间没有差异,但一项工作,一项没有。

我希望有人能解释一下。我在这个网站上所做的所有搜索都向人们展示了一些类似的东西,但我找不到解决我问题的答案,或者告诉我为什么会这样。

谢谢!

编辑:只是为了澄清......我尝试这样做的原因是我很好奇它是否可以在不使用 NSSocketPortNameServer 的情况下完成。

0 投票
0 回答
266 浏览

iphone - iPhone上的分布式对象?

有没有办法在 iPhone 上使用分布式对象?我认为您需要iPhone 版本Foundation中不存在的NSConnection对象。

我知道它不在公共框架中,但我不介意。请不要继续谈论“被 AppStore 拒绝”的事情,我很清楚。

0 投票
1 回答
419 浏览

sql-server - 分布式数据库通信

我是一名初级软件工程师,我喜欢这个网站和里面的人。所以,我想问我的问题,看看你的答案和建议。那么,请不要因为我没有搜索就问我而生气。

我的问题是关于分布式数据库通信(MSSQL Server 2008)。在图片中,我需要一个位于星形拓扑中心的主服务器和其他持有比中心少的数据的小型服务器。小型服务器工作是正常的 Web 服务,数据库更改很小。On另一方面,主服务器应定期与其他服务器通信(每小时一次,或一天两次)并收集其他小型数据库中的分布式数据变化。

根据这个计划,主服务器是可信任的、安全的和备份的。这是我的问题:我计划在 Web 服务级别进行通信。主服务器应该有一个控制和检查数据库的方法。有什么工具可以用于这种用途吗?我我期待着您的建议,愿景。

提前致以诚挚的问候和感谢。

替代文字

0 投票
1 回答
364 浏览

cocoa - 使 NSConnection 停止,直到找到注册名称的连接

有没有办法让 NSConnection 搜索具有注册名称的连接,比如一个单独的线程,或者在运行循环中调度,并在建立连接时进行回调?目前我正在使用

[NSConnection connectionWithRegisteredName:kRemotePreferencesDOName host:nil]

但是如果没有找到连接,这只是返回(我认为为零),而不是停止或以其他方式给出回调。虽然这对于服务器-客户端关系是有意义的,但“服务器”和“客户端”都只是应用程序,它们可能随时打开,也可能不打开,而不管对方如何,所以客户端很可能是服务器启动时打开并执行某些操作(并注册其名称)。此时,理想情况下,客户端将被通知/将创建到服务器的连接。

如果有帮助,这是系统偏好设置面板控制目标(仅后台)应用程序的 NSUserDefaults 的一种方式,当用户打开偏好设置面板时,该应用程序可能正在运行,也可能不运行。

0 投票
1 回答
418 浏览

objective-c - Objective-C:如何将对象树传递给远程分布式对象?

我有一个名为 Node 的类,它包含一组参数和一个名为 subNodes 的 NSMutableArray。一个进程创建一个 Node 对象作为树的根,并使用 subNodes 数组创建一棵大的 Node 树。这整个树应该传递给另一个进程,所以我设置了一个 NSConnection:

通信本身有效,远程方法'setNodeTree',期望根节点将被调用。但是,树的转移不起作用。我必须为 Node 类实现一个 copyWithZone 方法:

但客户端终止并出现以下异常:

任何想法这里出了什么问题?显然,某个地方需要一个 BOOL 变量,但节点不包含任何变量,并且没有使用任何期望或返回 BOOL 的方法。

0 投票
1 回答
387 浏览

macos - Cocoa/PyObjC 分布式对象缺少一些东西

我正在尝试使用带有 PyObjC 的分布式对象来制作一个简单的示例。在服务器端,我有(在 Xcode 中):

当我运行它时,我得到:

在客户端,我有:

我得到:

我错过了一些东西,但不知道是什么?

编辑:修改为使用我认为正确的签名,并显示出现的新问题。谢谢。

0 投票
1 回答
320 浏览

java - 如果类与客户端一起分发,是否可以在没有 HTTP 服务器的情况下使用分布式 RMI?

我一直在对使用 RMI 进行一些研究,并且在几乎所有情况下,他们都说您应该使用 Web、http 或 ftp 服务器来允许类加载器加载所需的类。

在这篇文章jGuru:远程方法调用 (RMI)中,它开始了关于安装和部署的部分,说类必须对类加载器可用,然后继续说明为什么需要 http 或 ftp 服务器。

所以我的问题是,当我可以将要在客户端和服务器之间共享的类放在与应用程序的两个部分一起分发的 jar 文件中时,为什么我必须使用 http 或 ftp 服务器?据我了解,这将使两个类加载器都可以使用这些类,而无需 http 或 ftp 服务器,还是我做出了错误的假设?

0 投票
1 回答
437 浏览

python - 寻找 Python 的集群消息框架

我正在寻找一个消息传递框架来在 Python 中构建一个集群(类似于 Apache Tribes)。

Python中有这样的框架吗?

0 投票
2 回答
268 浏览

objective-c - 在可可中实现分布式对象

我有两个 Cocoa 应用程序,其中一个是 launchd 守护程序(基础工具)。我需要从守护进程调用主应用程序中的一些方法。我如何在这里使用分布式对象?有人可以为此建议一个完整的教程(Apple 文档除外)吗?

0 投票
1 回答
220 浏览

cocoa - 如何找到特定分布式对象方法调用的连接?

我有一个 Cocoa 客户端和服务器应用程序,它们使用通过 NSSocketPorts 和 NSConnections 以标准方式实现的分布式对象进行通信。服务器将单个对象出售给客户端应用程序,其中可能有多个。每个客户端应用程序都可以访问相同的分布式对象,并获得自己的代理。

出售的对象支持特定的协议,其中包括类似于以下的方法:

当客户端应用程序调用此方法时,服务器应该将请求的资源分配给该客户端应用程序。但是可能有多个客户端请求相同的资源,服务器需要跟踪哪些客户端请求了它。

我希望能够在服务器端做的是确定客户端方法调用使用的 NSConnection 。我怎样才能做到这一点?

我想到的一种方法是(服务器端):

但是,我真的不希望客户端没有真正的目的(从客户端的角度)通过一个虚拟对象。我可以使 ServerResourceID 成为一个类,以便它作为代理传递,但我也不想真正这样做。

在我看来,如果我使用原始套接字进行通信,我将能够确定消息来自哪个套接字,因此能够确定哪个客户端发送了它,而客户端不需要发送任何特殊的东西作为一部分的消息。我需要一种通过分布式对象方法调用来做到这一点的方法。

任何人都可以提出这样做​​的机制吗?