我正在创建一个聊天应用程序,其中服务器端使用node.js,客户端端使用socket.io-client-swift。当我尝试连接到服务器时,它会完美连接,但是当我要接收数据数组时,它会以一个空数组作为响应。我已经尝试了很多次,但是没有用,但是在android中可以完美地接收数据而没有任何问题。
我添加了两张控制台响应图片
插座经理
class SocketIOManager: NSObject {
static let sharedInstance = SocketIOManager()
let manager = SocketManager( socketURL: URL(string:"https://realtime.allonsy-tech.com/members_chat")!, config: [.log(true),.compress])
var socket : SocketIOClient!
override init() {
super.init()
self.socket = manager.defaultSocket
}
// /members_chat
func establishConnection(){
socket.connect()
}
func closeConnection(){
socket.disconnect()
}
func joinTheRoom(){
socket.emit("joinRoom") {
print("I have joined ")
}
}
func welcome ( ){
socket.on(clientEvent: .connect) {data, ack in
print("socket connected")
self.joinTheRoom()
self.socket.on("welcome") { (data, ack) in
print(data)
print("\(ack)")
}
}
}
}
我的ViewController
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
SocketIOManager.sharedInstance.establishConnection()
SocketIOManager.sharedInstance.welcome()
}
}