首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iOS中调用Web Socket中的Web Service?

如何在iOS中调用Web Socket中的Web Service?
EN

Stack Overflow用户
提问于 2015-03-31 16:32:14
回答 1查看 366关注 0票数 1

目前,我正在使用Web Socket制作聊天应用程序。我的问题是如何在Web Socket中调用Web Service?

EN

回答 1

Stack Overflow用户

发布于 2018-07-11 13:36:25

在使用swift的iOS中,你可以使用两个Cocoapods Library,这使得你的工作没有麻烦,而且

1) Starscream 2) RocketSocket

关于红蜘蛛,下面是非常方便的例子:

代码语言:javascript
复制
import UIKit
import Starscream

class ViewController: UIViewController, WebSocketDelegate {
    var socket: WebSocket!

    override func viewDidLoad() {
        super.viewDidLoad()
        var request = URLRequest(url: URL(string: "http://localhost:8080")!)
        request.timeoutInterval = 5
        socket = WebSocket(request: request)
        socket.delegate = self
        socket.connect()
    }

    // MARK: Websocket Delegate Methods.

    func websocketDidConnect(socket: WebSocketClient) {
        print("websocket is connected")
    }

    func websocketDidDisconnect(socket: WebSocketClient, error: Error?) {
        if let e = error as? WSError {
            print("websocket is disconnected: \(e.message)")
        } else if let e = error {
            print("websocket is disconnected: \(e.localizedDescription)")
        } else {
             print("websocket disconnected")
        }
    }

    func websocketDidReceiveMessage(socket: WebSocketClient, text: String) {
        print("Received text: \(text)")
    }

    func websocketDidReceiveData(socket: WebSocketClient, data: Data) {
        print("Received data: \(data.count)")
    }

    // MARK: Write Text Action

    @IBAction func writeText(_ sender: UIBarButtonItem) {
        socket.write(string: "hello there!")
    }

    // MARK: Disconnect Action

    @IBAction func disconnect(_ sender: UIBarButtonItem) {
        if socket.isConnected {
            sender.title = "Connect"
            socket.disconnect()
        } else {
            sender.title = "Disconnect"
            socket.connect()
        }
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29364077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档