ios - 无法连接 Web Socket

标签 ios swift websocket starscream swifter

我使用“Swifter”作为我的本地 HTTP 服务器。 我正在使用“Starscream”作为 WebSockets。

不幸的是,当我尝试连接时,websocket已断开连接:可选(“操作无法完成。(Starscream.WSError错误1。)”))

我尝试从浏览器访问本地主机,看起来 Http Server 工作正常。

下面是我正在处理的代码:

简单服务器:

import Foundation
import Swifter

class SimpleServer{

    let server: HttpServer = HttpServer()

    public func startServer(){
        do {
            server["/hello"] = { .ok(.htmlBody("You asked for bhuvesh \($0)"))  }
            try server.start(8000)
        }
        catch{
            print("Server could not be started")
        }
    }

}

View Controller :

import UIKit
import Starscream

class ViewController: UIViewController, WebSocketDelegate {

    @IBOutlet weak var button: UIButton!

    var socket: WebSocketClient!
    var simpleServer = SimpleServer()

    override func viewDidLoad() {
        super.viewDidLoad()
        simpleServer.startServer()

        socket = WebSocket(url: URL(string: "ws://localhost:8000")!)
        socket.delegate = self
        socket.connect()
    }

    func websocketDidDisconnect(socket: WebSocketClient, error: Error?) {
        print("websocket is disconnected: \(error?.localizedDescription))")
    }

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

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

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

最佳答案

我遇到了完全相同的问题。您是否尝试过使用 Mac 和 websocat 连接到它? 如果有两个失败,那么可能是您的服务器问题,如果不是,您可能遇到与我完全相同的问题。

关于ios - 无法连接 Web Socket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57234391/

相关文章:

php - 使用 RabbitMQ 的 Swoole

使用 flutter 的带有自签名证书的 SSL IOWebSocketChannel

ios - 禁用放大 UIWebView 但保留其他用户交互

ios - 如何在应用程序和它的扩展之间共享一个类?

swift - 通用加法函数 Swift

swift - 如何使用 NSOpenPanel 导入视频文件?

java - Glassfish Websocket无法正常工作

ios - Swift ResearchKit HealthKit QuestionStep

ios - 如何让 AVAssetReader 循环?

ios - iOS 应用程序的内存泄漏是否会利用任何漏洞?