我试图像这样连接到我的本地主机套接字(工作正常):

import Starscream    

class ViewController: UIViewController {

let conn = ConnectionManager()


override func viewDidLoad() {
    super.viewDidLoad()

    conn.startSession()
}

}


class ConnectionManager {

    let socket = WebSocket(url: URL(string: "ws://localhost:8080/")!)

    func startSession(){
        socket.delegate = self
        socket.connect()
    }
}

extension ConnectionManager: WebSocketDelegate{
    func websocketDidConnect(socket: WebSocket) {
        print("connected")
    }

    func websocketDidDisconnect(socket: WebSocket, error: NSError?) {

    }

    func websocketDidReceiveMessage(socket: WebSocket, text: String) {
        print("text")
    }

    func websocketDidReceiveData(socket: WebSocket, data: Data) {

    }

//put the delegate methods here

}

但是,在我的服务器中,它不会通知我已建立新连接。 我究竟做错了什么?

#1楼 票数:0

尝试这个:

import Starscream
class ConnectionManager {

let socket = WebSocket(url: URL(string: "ws://localhost:8080/")!)

func startSession(){
     socket.delegate = self
     socket.connect()
}

}

extension ConnectionManager: WebSocketDelegate{
        //put the delegate methods here
}

  ask by Ryan Murphy translate from so

未解决问题?本站智能推荐:

3回复

在 Swift 中为聊天应用程序保持套接字打开

我在 PHP/Ratchet 中有一个可用的聊天服务器。 我在 Swift 中使用Starscream作为我的客户端。 我成功地创建了用户之间的聊天,但是这只在我的应用程序打开时才有效,因为这是套接字打开的时候。 即使我的应用程序未打开,我如何让我的应用程序接收消息。 所以基本上有一种方法可以保持套
2回复

套接字自签名证书握手失败

我正在使用 Starscream 套接字库并尝试使用 WSS,但是我遇到了握手失败。 我得到了我的自签名证书,我将其转换为 .der 文件。 这是我正在尝试的代码 所以当我尝试连接时,我收到以下错误消息 2017-07-07 11:06:26.590 CertificateTesting[
1回复

无法将Starscream WebSocket连接到Java ServerSocket

我为正在制作的应用程序设置了Java服务器。 Java服务器在尝试连接新客户端时会使用它们: 在Android上,我只使用Socket类,就没有问题。 它连接到在AWS的EC2上运行的Java服务器的端点,我没有问题。 但是,对于iOS,从我发现的结果来看, 强烈建议使用第三方库,
1回复

通过iOS中的Starscream进行Websocket连接

目前,我正在使用Action Cable客户端连接到URL并订阅频道。 但是该库似乎有一些问题,因为它有时无法订阅频道。 以下是我当前用于Action Cable客户端的设置代码 现在,我正尝试迁移到红蜘蛛,以解决此问题。 但是我不确定如何在下面设置它是我的启动代码。 func
0回复

在 iOS 上启动网络套接字服务器(使用红蜘蛛?)

我正在尝试构建一个 iOS 应用程序,该应用程序通过网络套接字提供来自相机的帧。 Starscream 似乎是 iOS 上 Web 套接字的首选库。 我能找到的所有红蜘蛛示例(例如这里或这里)都以这样的一行开头: 即他们假设我们正在打开与服务器的连接,然后我们可以通过网络套接字发送和接收数据。
1回复

如何在Web套接字中制作Singles Manager类的Starscream

我如何才能迅速使starcream Web套接字的单个班级经理。 请帮助我,仅通过管理Singleton类管理器即可如何获得请求和响应。 因为我想在应用程序中的许多视图和子视图中使用套接字,所以我不能在每个类上初始化委托方法并获取请求和响应,这不是一个好习惯。 我要如何使用webs
1回复

无法连接Web套接字

我使用“ Swifter”作为本地HTTP服务器。 我正在为WebSocket使用“ Starscream”。 不幸的是,获取websocket is disconnected: Optional("The operation couldn't be completed. (Starsc
1回复

如何使用Starscream验证用户

我陷入了用户身份验证的困境; 我想通过用户名和密码对用户进行身份验证。 我确实通过websocket成功连接,但是我不知道如何验证用户身份,我在Google上进行了大量研究,但由于完成的工作量较少,我仍然无法实现我的目标。 我想通过JSON请求的服务器API: 在请求服务器