我使用“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/