public void initializeMCServices() { myPeerId = new MCPeerID(UIDevice.CurrentDevice.Name); MyAdvertiserDelegate myAdvertiserDelegate = new MyAdvertiserDelegate(this); MyBrowserDelegate myBrowserDelegate = new MyBrowserDelegate(this); MySessionDelegate mySessionDelegate = new MySessionDelegate(this); var emptyDict = new NSDictionary(); MCNearbyServiceAdvertiser serviceAdvertiser = new MCNearbyServiceAdvertiser(myPeerId, emptyDict, serviceTypeString); serviceAdvertiser.Delegate = myAdvertiserDelegate; serviceAdvertiser.StartAdvertisingPeer(); MCNearbyServiceBrowser serviceBrowser = new MCNearbyServiceBrowser(myPeerId, serviceTypeString); serviceBrowser.Delegate = myBrowserDelegate; serviceBrowser.StartBrowsingForPeers(); session = new MCSession(myPeerId); session.Delegate = mySessionDelegate; sendPeerToPeerData(myPeerId.DisplayName); }
public override void DidReceiveInvitationFromPeer(MCNearbyServiceAdvertiser advertiser, MCPeerID peerID, NSData context, MCNearbyServiceAdvertiserInvitationHandler invitationHandler) { System.Diagnostics.Debug.WriteLine("Advertiser [" + session.MyPeerID.GetNativeHash() + "] will accept invite from " + peerID.DisplayName + " [" + peerID.GetNativeHash() + "]"); MyPhoneStatus.LastInvitation = DateTime.UtcNow; MyPhoneStatus.ConnectedPeers.Clear(); MyPhoneStatus.ConnectedPeers.AddRange(session.ConnectedPeers); invitationHandler(true, session); }
public MultipeerSession(Action <NSData, MCPeerID> receivedDataHandler) : base() { this.receivedDataHandler = receivedDataHandler; this.session = new MCSession(this.myPeerID, null, MCEncryptionPreference.Required); this.session.Delegate = this; this.serviceAdvertiser = new MCNearbyServiceAdvertiser(this.myPeerID, null, ServiceType); this.serviceAdvertiser.Delegate = this; this.serviceAdvertiser.StartAdvertisingPeer(); this.serviceBrowser = new MCNearbyServiceBrowser(this.myPeerID, ServiceType); this.serviceBrowser.Delegate = this; this.serviceBrowser.StartBrowsingForPeers(); }
/// <summary> /// For use when acting as game server /// </summary> public void StartAdvertising() { if (this.serviceAdvertiser == null) { var discoveryInfo = NSDictionary.FromObjectAndKey(new NSString(appIdentifier), new NSString(XamarinShotGameAttribute.AppIdentifier)); if (this.location != null) { discoveryInfo[LocationKey] = new NSString(this.location.Identifier.ToString()); } var advertiser = new MCNearbyServiceAdvertiser(this.myself.PeerId, discoveryInfo, XamarinShotGameService.PlayerService); advertiser.Delegate = this; advertiser.StartAdvertisingPeer(); this.serviceAdvertiser = advertiser; } }
public void DidReceiveInvitationFromPeer(MCNearbyServiceAdvertiser advertiser, MCPeerID peerID, NSData context, MCNearbyServiceAdvertiserInvitationHandler invitationHandler) { // Call handler to accept invitation and join the session. invitationHandler(true, this.session); }
public override void DidReceiveInvitationFromPeer(MCNearbyServiceAdvertiser advertiser, MCPeerID peerID, NSData context, MCNearbyServiceAdvertiserInvitationHandler invitationHandler) { Console.WriteLine("Did Received Invitation From Peer {0)", peerID); invitationHandler(true, DataTransferServices.session); }
public void StopAdvertising() { // stop advertising this.serviceAdvertiser?.StopAdvertisingPeer(); this.serviceAdvertiser = null; }
public void DidReceiveInvitationFromPeer(MCNearbyServiceAdvertiser advertiser, MCPeerID peerID, NSData context, MCNearbyServiceAdvertiserInvitationHandler invitationHandler) { invitationHandler(true, Session); }