ios如何在ios中实现SocketIO

ios如何在ios中实现SocketIO,ios,socket.io,Ios,Socket.io,我有一个服务器地址: 通过使用SocketIO iOS库以正确的协议和命名空间连接到上述地址 var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: Socket.serverURL.rawValue)! as URL, config: [.nsp(Socket.namespace.rawValue)]) override init() { super.init() } /** This functi

我有一个服务器地址: 通过使用SocketIO iOS库以正确的协议和命名空间连接到上述地址

var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: Socket.serverURL.rawValue)! as URL, config: [.nsp(Socket.namespace.rawValue)])

override init() {
    super.init()
}

/**
 This function used to establish connection with server.
 - Parameter: nil.
 - Returns: nil.
 */
func establishConnection() {
    socket.connect()
}

/**
 This function used to fetch next number from server.
 - Parameter: nil.
 - Returns: nil.
 */
func nextNumberFromServer(){
    socket.on(Socket.eventName.rawValue) {data, ack in
        if let number = data[0] as? NSNumber {
            print(number)
        }
    }
}

/**
 This function used to close connection with server.
 - Parameter: nil.
 - Returns: nil.
 */
func closeConnection() {
    socket.disconnect()
}
套接字命名空间:“/random”

随机数的套接字事件:“捕获”

此服务器使用SocketIO每隔4秒通过命名空间“/random”发送随机生成的数字,并发送事件“capture”。如何使用SocketIO库访问上述地址。 提前感谢。

枚举套接字:字符串{

case serverURL = "YOUR_SERVER_URL"
case namespace = "NAMESPACE NAME"
case eventName = "EVENT NAME"
}

///表示具有服务器url和命名空间的实际套接字对象

var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: Socket.serverURL.rawValue)! as URL, config: [.nsp(Socket.namespace.rawValue)])

override init() {
    super.init()
}

/**
 This function used to establish connection with server.
 - Parameter: nil.
 - Returns: nil.
 */
func establishConnection() {
    socket.connect()
}

/**
 This function used to fetch next number from server.
 - Parameter: nil.
 - Returns: nil.
 */
func nextNumberFromServer(){
    socket.on(Socket.eventName.rawValue) {data, ack in
        if let number = data[0] as? NSNumber {
            print(number)
        }
    }
}

/**
 This function used to close connection with server.
 - Parameter: nil.
 - Returns: nil.
 */
func closeConnection() {
    socket.disconnect()
}
枚举套接字:字符串{

case serverURL = "YOUR_SERVER_URL"
case namespace = "NAMESPACE NAME"
case eventName = "EVENT NAME"
}

///表示具有服务器url和命名空间的实际套接字对象

var socket: SocketIOClient = SocketIOClient(socketURL: NSURL(string: Socket.serverURL.rawValue)! as URL, config: [.nsp(Socket.namespace.rawValue)])

override init() {
    super.init()
}

/**
 This function used to establish connection with server.
 - Parameter: nil.
 - Returns: nil.
 */
func establishConnection() {
    socket.connect()
}

/**
 This function used to fetch next number from server.
 - Parameter: nil.
 - Returns: nil.
 */
func nextNumberFromServer(){
    socket.on(Socket.eventName.rawValue) {data, ack in
        if let number = data[0] as? NSNumber {
            print(number)
        }
    }
}

/**
 This function used to close connection with server.
 - Parameter: nil.
 - Returns: nil.
 */
func closeConnection() {
    socket.disconnect()
}

当然,socket.io也有iOS编程示例。你尝过这些吗?如果是这样的话,您使用了什么代码,您观察到了什么问题,在哪里卡住了。由于您对堆栈溢出有一点了解,我希望您知道,您需要对这个问题进行自己的研究,尝试解决方案,只有在遇到问题时才来这里,而不是在编写一行代码之前,也没有向我们显示任何代码。当然,socket.io有一些iOS编程示例。你尝过这些吗?如果是这样的话,您使用了什么代码,您观察到了什么问题,在哪里卡住了。由于您已经了解了一些堆栈溢出的情况,我希望您知道,您需要对这个问题进行自己的研究,尝试一个解决方案,并且只有在遇到问题时才来到这里,而不是在编写一行代码之前,并且不向我们显示任何代码。