【问题标题】:Not able to connect Web Socket无法连接 Web Socket
【发布时间】:2019-12-05 15:30:02
【问题描述】:

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

不幸的是,当我尝试连接时收到websocket is disconnected: Optional("The operation couldn’t be completed. (Starscream.WSError error 1.)"))

我尝试从浏览器访问 localhost,看起来 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")
        }
    }

}

视图控制器:

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")
    }
}

【问题讨论】:

  • 你是从你的 iOS 代码中调用ws://localhost:8000 吗?那是行不通的。您必须输入本地服务器的 IP 地址
  • @MayRestinPeace:我将 localhost 替换为“127.0.0.1”,但仍然出现断开连接的错误。运行服务器的模拟器的 IP 是否“127.0.0.1”错误。

标签: ios swift websocket starscream swifter


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 2012-11-21
    • 2019-07-10
    • 2019-10-12
    相关资源
    最近更新 更多