我是 iOS 编程新手,仍在学习 Swift。我正在尝试在 Swift 项目中使用 SocketRocket 库https://github.com/facebook/SocketRocket,以便通过 Web 套接字连接到使用 MAMP 创建的我的 Web 服务器。我知道有 Starscream https://github.com/daltoniam/Starscream可以在 Swift 中使用,但它会给出错误,我无法按照我在此处解释的那样使其工作:如何修复“websocket 已断开连接:无效的 HTTP 升级”错误使用红蜘蛛
SocketRocket
是写的Objective-C
,我不明白,试图查看文档,但我不知道如何将它翻译成 Swift 并在我的项目中实现它的方法。已经使用 Cocoapods 安装了 SocketRocket。所以它不需要标题桥接文件,因为我使用了“use_frameworks!” 在 podfile 中。
ViewController.swift 文件:
import UIKit
import SocketRocket
class ViewController: UIViewController, SRWebSocketDelegate { //ERROR: Type 'ViewController' does not conform to protocol 'SRWebSocketDelegate' Do you want to add protocol stubs?
var urlRequest = NSURLRequest(URL: NSURL(string: "http://host.com")) //EROOR: Cannot convert value of type 'NSURL?' to expected argument type 'URL' Insert ' as! URL'
var socket = SRWebSocket(URLRequest: urlRequest)
//let socket = SRWebSocket(url: "ws://localhost:8888")
override func viewDidLoad() {
super.viewDidLoad()
socket.open()
socket.send()
socket.close()
}
func webSocketDidOpen(webSocket: SRWebSocket!) {
print("socket opened");
}
func webSocket(webSocket: SRWebSocket!, didCloseWithCode code: Int, reason: String!, wasClean: Bool) {
print("code: \(code) reason:\(reason) ");
}
func webSocket(webSocket: SRWebSocket!, didFailWithError error: NSError!) {
print("error: \(error)");
}
func webSocket(webSocket: SRWebSocket!, didReceiveMessage message: AnyObject!) {
print("received message")
}
}
这是我尝试编写的代码......但是评论中显示了错误。希望你们能帮助我。谢谢!!!:)