gpt4 book ai didi

ios - 如何使用套接字编程将 iOS Swift 应用程序连接到硬件设备?

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:51 25 4
gpt4 key购买 nike

我想使用套接字编程将我的 Swift 应用程序连接到网络硬件设备。服务器端编程已经在使用C语言的硬件设备中完成。如何使用套接字编程与设备连接和通信?我应该选择哪个库?

最佳答案

如果您想做自己的套接字网络,可以使用 Swift 中的 NSStream 和 CFStream API 连接/读取/写入原始网络套接字。

这里有一些有用的 Swift 3 片段,用于通过 NSStream 使用套接字:

var readStream:  Unmanaged<CFReadStream>?
var writeStream: Unmanaged<CFWriteStream>?
var inputStream : InputStream? = nil
var outputStream : OutputStream? = nil

let host : CFString = NSString(string: someHostIPString)
let port : UInt32 = UInt32(somePortNumber)

CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault,
host,
port,
&readStream,
&writeStream)

inputStream = readStream!.takeUnretainedValue()
outputStream = writeStream!.takeUnretainedValue()

// the enclosing class should be a StreamDelegate
// to handle stream open, events, or errors, etc.
inputStream!.delegate = self
outputStream!.delegate = self

inputStream.open()
outputStream.open()

// the NSStream delegate callback(s)
func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
var n = 0
switch (eventCode) {
...
case Stream.Event.hasSpaceAvailable:
n = self.outputStream.write(someWriteBuffer, maxLength: dataLength)
...
case Stream.Event.hasBytesAvailable:
n = self.inputStream.read(someReadBuffer, maxLength: bufferLength)
...
// etc.
}
}

// etc.

您可能希望在其自己的线程中使用自己的运行循环运行上述代码。

关于ios - 如何使用套接字编程将 iOS Swift 应用程序连接到硬件设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44715193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com