首页 > 解决方案 > 发送 Swift iOS 后连接到服务器但未接收数据

问题描述

我正在使用https://github.com/socketio/socket.io-client-swift库。发送参数“房间”后,我能够连接到服务器,但发出后无法从服务器获得响应。我必须听经过验证的密钥才能获得响应我在我的代码下方尝试了许多解决方案:-

import Foundation
import SocketIO

class MySocket: NSObject {
static let sharedInstance = MySocket()
var socketIOClient: SocketIOClient!

let manager = SocketManager(socketURL: NSURL(string: "http://xyz.5001")! as URL, config: [
    .connectParams(["room": UserDefaults.standard.string(forKey: "roomID") ?? ""]),
    .log(true),
    .selfSigned(true),
    .forceWebsockets(true),
    .reconnects(true),
    .forceNew(true)
])

func connected() {
    print("socket try to connecting.....")

    let socket = manager.defaultSocket
    socket.emit("join",["room": UserDefaults.standard.string(forKey: "roomID") ?? ""])
    
    // Socket Events
    socket.on(clientEvent: .connect) { (data, _) in
        print("socket connected")
//            socket.emit("join", ["room": UserDefaults.standard.string(forKey: "roomID") ?? ""])

    }
    
    socket.on(clientEvent: .error) { (data, _) in
        print("socket error")
    }
    
    socket.on("verified") { (data, _) in
        if let json = data[0] as? [String:AnyObject] {
           print(json)
        }
    }
    
    socket.connect()
   }
 }

用法 :-

 MySocket.sharedInstance.connected()

有人可以帮我吗

标签: iossocket.ioswift5

解决方案


如果你可以连接到服务器并发出,后端有问题


推荐阅读