【问题标题】:How to create and send a UInt8Array over WebSockets with Swift如何使用 Swift 通过 WebSockets 创建和发送 UInt8Array
【发布时间】:2016-08-07 07:15:03
【问题描述】:

我有一个 NodeJS Socket IO 服务器,它使用 UInt8Array 发送和接收数据包,我正在尝试在 iOS 和 Swift 中编写一个客户端,作为一个完整的新手,我不确定如何创建一个 UInt8Array在 Swift 中并使用Socket.IO 发送,我尝试了几种不同的方法来实现这一点,但到目前为止还无法破解

let f = [115, 7, 0]
self.socket?.emit("message", f)

上面的代码不起作用,因为值不是UInt8,如果我执行以下操作

let f = [UInt8(115), UInt8(7), UInt8(0)]
self.socket?.emit("message", f);

按照@zisoft 的建议

let f: [UInt8] = [115, 7, 0]
self.socket?.emit("message", f) // get error here that Argument type '[UInt8]' does not conform to expected type 'AnyObject'

如果我尝试强制转换 f as AnyObject,则会收到运行时错误

任何帮助都将不胜感激,因为用这个把我的头发拉出来(相信我,我已经没有多少头发可以拉出来了)

【问题讨论】:

    标签: ios node.js swift sockets uint8array


    【解决方案1】:

    将您的数组声明为UInt8 类型,如下所示:

    let f : [UInt8] = [115,7,0]
    

    【讨论】:

    • 我已经尝试过了,但是当我使用f as AnyObject 传递给self.socket?.emit("message", f). I have tried casting to AnyObject` 时得到Argument type '[UInt8]' does not confirm to expected type 'AnyObject',但在运行时出现此错误
    猜你喜欢
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 2014-12-31
    相关资源
    最近更新 更多