2017-10-02 14 views
0

Swift/iOSアプリケーションをSignalRサーバに接続するためにAutosoftDMS/SignalR-Swiftクライアントを使用しています。私の質問は、SignalRサーバーが異なる「部屋」をサポートしている場合、接続する正しいシーケンスは何ですか?SignalRサーバへの接続プロセス

例1:この例で

let hubConnection = HubConnection(withUrl: <some SignalR server URL>) 

let chatHub = hubConnection.createHubProxy(hubName: "RoomChatHub") 

hubConnection.started = {  
    // the value 2 is some room identifier  
    self.chatHub.invoke(method: "RoomConnect", withArgs: [2]) 
} 

問題はが部屋#2のSignalRサーバからメッセージを受信し始める何のハンドラを持っていない呼び出しです。

例#2:

let hubConnection = HubConnection(withUrl: <some SignalR server URL>) 

let chatHub = hubConnection.createHubProxy(hubName: "RoomChatHub") 

chatHub.on(eventName: "RoomConnect") { (args) in 
    if let message = args[0] as? String { 
     print("Room Message: \(message)") 
    } 
} 

この例の問題は、chatHub.on方法は、私は部屋#2のメッセージのみをしたいことを指定することが可能になる引数パラメータを持っていないです。

SignalRサーバに接続するには、特定の部屋のメッセージを希望する方法がありますか?

答えて

0

私はグループを使用することをお勧めします。各部屋のグループと適切なグループへの接続を作成します。

+0

しかし、それは基本的な問題には対処しません。私は、グループ名またはいくつかの識別子とクライアントAPIの設定方法を渡す必要がありますが、そのグループ名を渡すことはできますが、そのグループのメッセージを受け取るコールバック/ハンドラはありません。 –

関連する問題