0

我想要这样的东西:http: //iphonedevwiki.net/index.php/CPDistributedMessagingCenter

在进程之间同步发送和接收一些 NSString

但 CPDistributedMessagingCenter 仅在 iOS 上可用。

有人可以给我建议如何做到这一点吗?谢谢!;)

4

2 回答 2

0

您是否考虑过 NSDistributedNotificationCenter

我建议创建一个DistributedNotificationCenter(服务器)来监听从NotificationCenter. 它应该简单地将任何接收到的消息(或任何注册的兴趣)中继到对等点DistributedNotificationCenters(在其他进程中运行)。

问题是这些如何DistributedNotificationCenters“找到”彼此。好吧,有很多选择:

  1. 一个众所周知的DistributedNotificationCenterLocator服务(服务器)将它们连接起来,甚至可能是所有消息传递的中央中继点(但存在可扩展性问题)。
  2. 与 (1) 一样,但您使用 server:port 的DistributedNotificationCenterLocator.
  3. DistributedNotificationCenter如果特定于应用程序,s 可以在数据库中注册 - 即我在“服务器:端口”上。即众所周知的查找。
  4. 我对此一无所知,但看到这个关于使用 Bonjour 进行服务器发现的答案。听起来不错?

我没有在这里提供任何代码,但如果您需要任何指针,请告诉我...

于 2013-04-24T15:20:01.247 回答
0

我找到了一个很好的指南。 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DistrObjects/DistrObjects.html#//apple_ref/doc/uid/10000102-SW1

在这里我分享我的片段:

服务器:

[NSConnection serviceConnectionWithName:@"your.connection.name" rootObject:self];

客户:

[[NSConnection rootProxyForConnectionWithRegisteredName:@"your.connection.name" host:nil]performSelector:@selector(a_selector_that_server_object_respond_and_return_value)];
于 2013-04-24T16:03:46.293 回答