ios - 连接SignalR服务器的流程

标签 ios swift signalr

我正在使用AutosoftDMS/SignalR-Swift客户端,以便将我的 Swift/iOS 应用程序连接到 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 服务器,让我可以说我想要某个特定房间的消息?

最佳答案

我认为最好的方法是使用群组。您将为每个房间创建一个组并连接到适当的组。

关于ios - 连接SignalR服务器的流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46527037/

相关文章:

swift - CoreData 的 insertNewObjectForEntityForName 使转换为自定义类失败并进行单元测试

ios - 在 Objective-C 项目中导入纯 Swift 框架

iOS:实现 drawRect 时要遵循的标准规则:带有可拖动对象

jquery.click() 在 iOS 中不起作用

iphone - 移动当前未加载的 UICollectionViewCell

javascript - 如何在 JavaScript SignalR 客户端中取消注册 onclose 事件处理程序

c++ - 不理解这些 C++ box2d 错误

ios - 圆角 UITableViewCell (iOS)

c# - 'Microsoft.AspNet.SignalR.Hubs.ClientProxy' 不包含 'broadcastMessage' 的定义

asp.net - 是否有任何 ASP.NET 应用程序来监控在线用户和页面查看日志报告?