2016-06-15 14 views
-1

Ich erstelle Gruppen-Chat-Anwendung in iOS. So sind wir auf der Client-Seite (iOS) ein integriertes signalR-Framework. Auf Serverseite integriere ich das signalR Framework in ASP.Net.Wie man Nachrichten vom Server zum Client mit SignalR verschiebt

Mein Zweifel ist, ich möchte die Chat-Nachricht vom Server an das iPhone senden. Auf der Serverseite erstelle ich einen ASP.Net SignalR Hub. wie man Nachrichten vom Server zum Client (iPhone) sendet.

// in server side i am writing like this 

using System; 
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using Microsoft.AspNet.SignalR;  
namespace ProjectName  
{  
    public class ChatHub : Hub  
  {  
   #region Data Members 

   public void Connect(string myData)  
   {  
    var id = Context.ConnectionId; 

    // send to caller  
      Clients.Caller.onConnected(myData); 

      // send to all except caller client  
      Clients.AllExcept(id).onNewUserConnected(myData));   
     } 
   
     public void SendMessageToAll(string myData)   
     {    
      // Broad cast message  
      Clients.All.messageReceived(myData);   
     } 
  
     public void SendPrivateMessage(string toUserId, string message)   
     {    
      string fromUserId = Context.ConnectionId; 
  
      if (toUserId!= null && fromUserId !=null)     
      {   
       // send to    
       Clients.Client(toUserId).sendPrivateMessage(fromUserId, message);  

       // send to caller user   
       Clients.Caller.sendPrivateMessage(toUserId,message);   
      }  
     } 

     public override Task OnDisconnected(bool stopCalled)   
     {     
      var id = Context.ConnectionId; 
       
      Clients.All.onUserDisconnected(id); 

      return base.OnReconnected();   
     } 

     public void SendMessageToGroup(string myData)   
     {    
      groupID = "1"; 
      
      Clients.Group(groupID).getMessages(myData);    
     } 
      
     #endregion 

    }  
} 
+0

Sie haben nicht deutlich genug Mühe gegeben schicken Um zu verstehen, wie Signalgeber funktioniert, wie Mike sagte, Sie haben Ihre Nachricht bereits an die Clients gesendet, müssen Sie eine Bibliothek für IOS finden, die clientseitige Nachrichten von einem Signal-Hub verarbeitet. –

Antwort

1

Es ist einfach. Eigentlich hast du es schon getan.

Jetzt müssen Sie "MessageRecieved" in Ihrem Client-Hub-Proxy abhören.

Und wenn die App backgrounded ist und wenn SignalR verbunden noch (das ist ein großer IF) eine lokale Meldung (in iOS-Geräte)

UILocalNotification* localNotification = [[UILocalNotificationalloc] init]; 
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:60]; 
localNotification.alertBody = @"Your alert message"; 
localNotification.timeZone = [NSTimeZone defaultTimeZone]; 
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 

Read more about local notifications

+0

Danke für Ihre Antwort. aber meine Zweifel ich möchte Nachricht vom Server an mobile Geräte senden. so plz sagen mir, wie man eine Nachricht vom Server zum mobilen Gerät sendet. eigentlich mache ich bereits google search.in google mit viel code für die web-anwendung. aber ich möchte mobile App senden – satya

+0

Ich denke, Ihre Frage ist zum Senden von Push-Benachrichtigungen an mobile Geräte. Wenn es stimmt, können Sie SignalR nicht für diesen Zweck verwenden. Recherchieren Sie über PushSharp oder ähnliche Bibliotheken –

+0

Vielen Dank für Ihre Antwort. aber mein iOS Entwickler Implementierung Chat-Anwendung in iOS .. so iam Wartung Server mit asp.net.my Zweifel ist, ich möchte Chat-Nachricht an iPhone device.so für Chat Zwecke senden ich bin SignalR Framework zu integrieren. – satya

Verwandte Themen