swift - socket.io连接成功后如何获取数据?

标签 swift sockets socket.io

我是 Socket.IO 的新手,不知道如何在与套接字建立连接后获取数据。

Socket.IO 有以下内容

1) 网址

2)路径

请看附件图片。

我需要一个非常基本的示例,如何将 iOS swift 与套接字 IO 连接以及如何从套接字读取数据。 enter image description here

var manager = SocketManager(socketURL: URL(string: "url")!, config: [.log(true), .compress,.path("path"),.connectParams(["authorization":"token"])])
var socket = manager.defaultSocket
socket.on("connected") {data, ack in
        print("socket connected")
        print(socket.status)
}

它打印套接字已连接但不知道如何进一步处理。如何获取对话列表?将非常感谢这一点。

最佳答案

因此,表格是您必须收听的事件列表。 conversationsListmessagesList 是一种特殊情况,因为它们是双向的(这意味着您必须发出它们并接收它们。我将它们理解为一条链。您将仅在连接时发出 conversationsList。因此可能的解决方案是:

var manager = SocketManager(socketURL: URL(string: "url")!, config: [.log(true), .compress,.path("path"),.connectParams(["authorization":"token"])])
var socket = manager.defaultSocket
socket.on("connected") {data, ack in
    print("socket connected")
    print(socket.status)
    socket.emit("conversationsList", ["page": 1])
}

socket.on("conversationsList") {data, ack in
    print("Conversations List received")
    socket.emit("messagesList", ["conversation": "conversation_id", "page": 1])
    print(data)
}

您可能需要稍微调整一下数据传递的方式。但是结构应该是这样的。

关于swift - socket.io连接成功后如何获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55110201/

相关文章:

ios - 将 Pull to Refresh Control 放在 TableView Header 下

ios - (Swift) 在我的位置 MapKit 内设置一个 1 公里的半径

ios - 如何使用 IN sql 子句查询 coredata?

sockets - 使用 `chan pending output` 代替可写文件事件

C++ iptables 重定向形成单独的数据包

javascript - 通过循环访问数组中对象的属性时,仅获取第一个元素

ios - Swift 2.2 字符串文字选择器

java - java NIO 中打开文件过多错误

javascript - 我想在node.js中使用mysql函数的变量到外部

javascript - node.js 等待可变长度数组类型的事件