【问题标题】:How to connect to Socket.IO swift?如何快速连接到 Socket.IO?
【发布时间】:2018-01-22 09:03:20
【问题描述】:

我无法连接到 Socket.IO 聊天..

import UIKit
import SocketIO

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let manager = SocketManager(socketURL: URL(string: "wss://socket-io-chat.now.sh/socket.io/")!, config: [.log(true), .compress])
        let socket = manager.defaultSocket

        socket.on(clientEvent: .connect) {data, ack in
            print("socket connected")
        }

        socket.on("new message") {data, ack in
            print("new Messages")
        }

        socket.connect()  
    }
}

我正在使用最新的 socket.io 库,并且已经在 info.plist 中添加了应用程序传输。

这就是日志所说的......

2018-01-22 16:56:46.316676+0800 ExampleSocket[6963:2231315] LOG SocketEngine:得到消息:40 2018-01-22 16:56:46.317249+0800 ExampleSocket[6963:2231315] LOG SocketEngine: 写轮询: 有数据: false 2018-01-22 16:56:46.317771+0800 ExampleSocket[6963:2231315] LOG SocketEnginePolling: 发送轮询: as type: 2 2018-01-22 16:56:46.323959+0800 ExampleSocket[6963:2231318] TIC 读取状态 [2:0x0]: 1:57 2018-01-22 16:56:46.324082+0800 ExampleSocket[6963:2231318] TIC 读取状态 [2:0x0]: 1:57 2018-01-22 16:56:46.330099+0800 ExampleSocket[6963:2231315] LOG SocketEnginePolling:创建的 POST 字符串:1:2 2018-01-22 16:56:46.330615+0800 ExampleSocket[6963:2231315] LOG SocketEnginePolling: POSTing 2018-01-22 16:56:46.330744+0800 ExampleSocket[6963:2231315] LOG SocketEngine:引擎正在发布

【问题讨论】:

    标签: swift xcode socket.io


    【解决方案1】:

    试试下面的代码:

    var socketClient: SocketIOClient!

    if let url = URL(string: "wss://socket-io-chat.now.sh/socket.io/") {
                let socketClient = SocketIOClient(socketURL: url, config: [.log(true),.forcePolling(true)])
    
                socketClient.connect()
            }
    
    
    socketClient.onAny { (socEvent) in
    
    
    if let status =  socEvent.items as? [SocketIO.SocketIOClientStatus] {
                if let first = status.first {
                    switch first {
                    case .connected:
                        print("Socket: connected")
                        break
    
                    case .disconnected:
                        print("Socket: disconnected")
                        break
                    case .notConnected:
                        print("Socket: notConnected")
                        break
                    case .connecting:
                        print("Socket: connecting")
                        break
                    }
                 }
              }
            }      
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 2020-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多