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

如何使用套接字编程将iOS Swift应用程序连接到硬件设备?,第1张

概述我想使用套接字编程将我的 Swift应用程序连接到网络硬件设备.服务器端编程已在使用C语言的硬件设备中完成.如何使用套接字编程连接设备并与之通信?我应该选择哪个库? 如果您想要自己的套接字网络,可以使用Swift中的NSStream和CFStream API来连接/读取/写入原始网络套接字. 以下是一些有用的Swift 3片段,用于通过NSStream使用套接字: var readStream: 我想使用套接字编程将我的 Swift应用程序连接到网络硬件设备.服务器端编程已在使用C语言的硬件设备中完成.如何使用套接字编程连接设备并与之通信?我应该选择哪个库?解决方法 如果您想要自己的套接字网络,可以使用Swift中的Nsstream和CFStream API来连接/读取/写入原始网络套接字.

以下是一些有用的Swift 3片段,用于通过Nsstream使用套接字:

var readStream:  Unmanaged<CFReadStream>?var writeStream: Unmanaged<CFWriteStream>?var inputStream   : inputStream?    =  nilvar outputStream  : OutputStream?   =  nillet 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   = selfoutputStream!.delegate  = selfinputStream.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.

您可能希望使用自己的runloop在自己的线程中运行上面的代码.

总结

以上是内存溢出为你收集整理的如何使用套接字编程将iOS Swift应用程序连接到硬件设备?全部内容,希望文章能够帮你解决如何使用套接字编程将iOS Swift应用程序连接到硬件设备?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1001433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存