Android & iOS dns-sd: как сделать открытие кросс-платформенной службы?

На Android я делаю так, чтобы создать услугу вещания с простой attacched карте в качестве информации

HashMap<String, String> record = new HashMap<>(); record.put("info, "my android info"); WifiP2pDnsSdServiceInfo serviceInfo = WifiP2pDnsSdServiceInfo .newInstance("_myservice", "_tcp", record); WifiP2pManager manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE); Channel channel = manager.initialize(this, this.getMainLooper(), null); manager.addLocalService(channel, serviceInfo, null); 

Для получения другого сигнала

 manager.setDnsSdResponseListeners(channel, this, this); @Override public void onDnsSdTxtRecordAvailable(String fullDomainName, Map<String, String> txtRecordMap, WifiP2pDevice srcDevice) 

На iOS это одно и то же имя службы и карта информации

 MCPeerID* _myPeerId=[[MCPeerID alloc] initWithDisplayName:@"my ios peer"]; NSDictionary* _serviceInfo=@{@"info": @"my ios info"}; MCNearbyServiceAdvertiser* _serviceAdvertiser = [[MCNearbyServiceAdvertiser alloc] initWithPeer:_myPeerId discoveryInfo:_serviceInfo serviceType:@"myservice"]; _serviceAdvertiser.delegate=advertiseDelegate; MCNearbyServiceBrowser* _serviceBrowser=[[MCNearbyServiceBrowser alloc] initWithPeer:_myPeerId serviceType:@"myservice"]; _serviceBrowser.delegate=browserDelegate; [_serviceAdvertiser startAdvertisingPeer]; [_serviceBrowser startBrowsingForPeers]; 

И делегатов

 -(void)browser:(MCNearbyServiceBrowser *)browser lostPeer:(MCPeerID *)peerID -(void)browser:(MCNearbyServiceBrowser *)browser foundPeer:(MCPeerID *)peerID withDiscoveryInfo:(NSDictionary<NSString *,NSString *> *)info 

Android-устройство может видеть только другое устройство Android, также как и устройства iOS. Однако две семьи не могут видеть друг друга. Я бы хотел, чтобы их видели другие устройства, независимо от операционной системы.

Solutions Collecting From Web of "Android & iOS dns-sd: как сделать открытие кросс-платформенной службы?"