问题标签 [nsconnection]
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.
objective-c - 检测/修复 NSConnection 失败
我想使用 NSConnection/NSDistributedObject 进行进程间通信。我希望客户端能够处理服务器只能偶尔访问的情况。
如何确定向 NSConnection 发送消息是失败还是失败?目前,如果我的服务器(已经出售远程对象的进程)死了,如果它向远程对象发送选择器,客户端将会崩溃。
理想情况下,我希望有一个远程对象的包装器,它可以延迟实例化(或重新实例化)连接,并在无法实例化连接或连接失败的情况下返回默认值。我真的不知道使用目标 c 的正确方法。
下面是一些代表这个逻辑的伪代码:
cocoa - 在 Mac OS X 上进行进程间通信的最佳方式
我正在考虑在 Mac 上构建一个带有后端守护进程的 Cocoa 应用程序(实际上可能只是一个无头的 Cocoa 应用程序),以及在本地运行的 0 个或多个“客户端”应用程序(尽管如果可能的话我会也喜欢支持远程客户端;远程客户端只能是其他 Mac 或 iPhone OS 设备)。
正在传达的数据将是相当微不足道的,主要是文本和命令(我猜无论如何都可以表示为文本),也许偶尔会有小文件(可能是图像)。
我已经研究了一些方法来做到这一点,但我不确定哪种方法最适合手头的任务。我考虑过的事情:
- 读取和写入文件(......是的),非常基本但不是很可扩展。
- 纯套接字(我没有使用套接字的经验,但我似乎认为我可以使用它们在本地和通过网络发送数据。虽然如果在 Cocoa 中做所有事情似乎很麻烦
- 分布式对象:对于这样的任务似乎相当不优雅
NSConnection
: 我真的不知道这个类是做什么的,但我在一些 IPC 搜索结果中读到了它
我确信我缺少一些东西,但我惊讶地发现缺乏关于这个主题的资源。
iphone - 在 iPhone 应用程序中进行 SOAP 请求调用时出错
我正在尝试打个肥皂电话。这是一个带有“欢迎用户”输出的非常基本的调用。返回值是 xml 格式,我收到以下错误。但是我不确定这个错误是什么意思。
下面的代码显示了我发出的soap请求和post请求:
以下是我得到的错误:
ios - 用于从 iPhone 中的 Web 服务器处理各种数据的通用 NSConnection
如何在 iPhone 中使用通用 NSConnection 来处理来自 Web 服务器的各种数据。如果可能的话,我可以有代码吗
iphone - 在 iPhone 上创建新 NSConnection 的成本
有人知道 iPhone 上的 tcp 连接有多贵吗?例如,如果我必须从 Web 服务器下载 8-10 个小文件 (2-6 kB),创建 8-10个 NSConnection请求是否有意义,或者最好一次请求下载 8-10 个文件(假设服务器支持这种请求)?
cocoa - 使 NSConnection 停止,直到找到注册名称的连接
有没有办法让 NSConnection 搜索具有注册名称的连接,比如一个单独的线程,或者在运行循环中调度,并在建立连接时进行回调?目前我正在使用
[NSConnection connectionWithRegisteredName:kRemotePreferencesDOName host:nil]
但是如果没有找到连接,这只是返回(我认为为零),而不是停止或以其他方式给出回调。虽然这对于服务器-客户端关系是有意义的,但“服务器”和“客户端”都只是应用程序,它们可能随时打开,也可能不打开,而不管对方如何,所以客户端很可能是服务器启动时打开并执行某些操作(并注册其名称)。此时,理想情况下,客户端将被通知/将创建到服务器的连接。
如果有帮助,这是系统偏好设置面板控制目标(仅后台)应用程序的 NSUserDefaults 的一种方式,当用户打开偏好设置面板时,该应用程序可能正在运行,也可能不运行。
cocoa - 创建 NSDisantObject
我有两个应用程序“A”和“B”,需要做一些 ipc。如果进程“A”尚未运行,则启动进程“B”。在过程“A”中,我创建NSConnection
和registerName:
. 在进程 'B' 中,我通过调用rootProxyForConnectionWithRegisteredName:
. 并且它将客户端对象指针设置为远程对象,以便进程“A”使用该对象来调用客户端对象方法。在进程'B'启动并建立连接之前,它_clientObj
是零。我可能会收到旨在_clientObj
.
问题:有没有办法让我做 _clientObj
asNSDistantObject
并保存所有消息,直到_clientObj
被构造。
cocoa - 如何找到特定分布式对象方法调用的连接?
我有一个 Cocoa 客户端和服务器应用程序,它们使用通过 NSSocketPorts 和 NSConnections 以标准方式实现的分布式对象进行通信。服务器将单个对象出售给客户端应用程序,其中可能有多个。每个客户端应用程序都可以访问相同的分布式对象,并获得自己的代理。
出售的对象支持特定的协议,其中包括类似于以下的方法:
当客户端应用程序调用此方法时,服务器应该将请求的资源分配给该客户端应用程序。但是可能有多个客户端请求相同的资源,服务器需要跟踪哪些客户端请求了它。
我希望能够在服务器端做的是确定客户端方法调用使用的 NSConnection 。我怎样才能做到这一点?
我想到的一种方法是(服务器端):
但是,我真的不希望客户端没有真正的目的(从客户端的角度)通过一个虚拟对象。我可以使 ServerResourceID 成为一个类,以便它作为代理传递,但我也不想真正这样做。
在我看来,如果我使用原始套接字进行通信,我将能够确定消息来自哪个套接字,因此能够确定哪个客户端发送了它,而客户端不需要发送任何特殊的东西作为一部分的消息。我需要一种通过分布式对象方法调用来做到这一点的方法。
任何人都可以提出这样做的机制吗?
objective-c - 如果在服务器上找不到文件,connectionDidFinishLoading: 如何运行?
这很奇怪;我有一个像这样的异步连接:
然后我有一堆标准的委托方法:
最后的 NSLog 正在运行,即使该文件不在服务器上。为什么?我不希望它加载任何东西,而是导致错误和警报视图。
这些方法一开始看起来很清楚,但这里肯定发生了一些我没有了解异步连接的事情。
objective-c - 用于 Web 查询的多个同时 NSConnections
使用异步下载方法和委托时,是否可以同时启动多个 nsconnections 并在每个查询完成时分别处理它们?或者,当您的代表从每个查询中接收到片段时,系统不会自动区分它们吗?在这种情况下,当每个连接通过代表进入时,什么是唯一识别每个连接的好方法?