swift 如何socket.io在swifui项目中使用www.example.com?

ulydmbyx  于 2023-06-28  发布在  Swift
关注(0)|答案(1)|浏览(141)

我正在尝试在我的swiftui应用程序中创建聊天。
我把所有的包裹都加进去了。
我有一个chatView,目前看起来像这样:

import SwiftUI
import SocketIO


struct chatView: View {
    @State private var socket: SocketIOClient!
    
    var body: some View {
        VStack {
            Text("Welcome to my app!")
            Button(action: {
                socket.emit("message", ["Hello from SwiftUI!"])
            }) {
                Text("Send Message")
            }
        }
        .onAppear {
            
            
            
          socket = SocketIOClient(socketURL: URL(string: "http://localhost:3000")!)
           socket.connect()
        }
    }
}

struct chatView_Previews: PreviewProvider {
    static var previews: some View {
        chatView()
    }
}

但是Xcode却出现了这样的错误:

Extra argument 'socketURL' in call
Missing arguments for parameters 'manager', 'nsp' in call

错误显示在我的代码的这一部分旁边:

socket = SocketIOClient(socketURL: URL(string: "http://localhost:3000")!)

我不知道是什么引起的!有人能给我点建议吗?

u0sqgete

u0sqgete1#

我不认为SocketIOClient有一个接受socketURL参数的初始化器。SocketManager的初始化器接受socketURL参数。
The SocketIOClient class reference
客户端是通过SocketManager创建的,SocketEngineSpec控制与服务器的连接。
例如:

// Create a socket for the /swift namespace
let socket = manager.socket(forNamespace: "/swift")

// Add some handlers and connect

project README给出了以下示例:

let manager = SocketManager(socketURL: URL(string: "http://localhost:8080")!, config: [.log(true), .compress])
let socket = manager.defaultSocket

相关问题