我们目前想要一种在带有套接字的设备之间传递数据的方法,所以我们在服务器端使用了带有 python 脚本的 ZeroMQ,一切似乎都在工作。目前我们的协议地址是epgm://224.0.0.1:28650
,但是我们需要和python脚本通信所以我们决定使用这个Swift库。目前,我直接使用这个存储库中的库,它似乎正在使用 ZeroMQ 库版本 4.2,补丁级别为 0.2。然后,使用这个函数,我正在检查该库是否具有 .pgm 协议,我的应用程序报告它不支持它。
尽管该库具有此功能来检查它是否支持某个协议,但我无法在 google 上找到有关如何让库支持 pgm 协议的任何信息。
在查看了原始的 swift 库之后,我能够找到zmq.h ,据我所知,它是 swift 库使用的 ZMQ 库。因此,在发现这一点后,我尝试使用我们用来解决 PyZMQ 问题的“--with-pgm”构建选项重新编译 libzmq 。但是,我对此并没有太多的运气,我什至不确定这是我应该如何进行的。我目前不知所措,任何帮助将不胜感激。谢谢。
这是我们当前使用的 Swift 代码:
import SwiftyZeroMQ5
class communicationClass{
var context: SwiftyZeroMQ.Context?;
var subscriber: SwiftyZeroMQ5.SwiftyZeroMQ.Socket?;
init(){
do{
context = try SwiftyZeroMQ.Context();
subscriber = try context?.socket(.subscribe);
try subscriber?.connect("epgm://224.0.0.1:28650");
}
catch{
print("error - \(error)")
}
}
}
这是它输出的错误:error - Protocol not supported