草庐IT

zeromq4-haskell

全部标签

c++ - zeromq 3.1 C++ API 'device' 不是 'zmq' 的成员

我注意到设备不是3.0api的一部分......我应该使用什么来代替?zmq::device(ZMQ_QUEUE,clients,workers);我发现设备已经移到了这里:https://github.com/zeromq/libzfl 最佳答案 有点糊涂,下面是故事。我继承维护0MQ/2.x的时候,有一个zmq_device()函数,还有一套外接设备app,XML配置的小主程序。我之前曾尝试改进和记录人们正在使用的这两层,但维护人员拒绝了补丁。然后我们将外部应用程序移动到zdevices项目,具有更灵活的配置等。最终这些应用程序

c++ - 跟进: Boost serialized custom C++ object passed over ZeroMQ pull socket

这是我之前在Boost:De-serializingacustomC++objectpassedoverZeroMQpullsocket的另一个线程中提出的后续问题。该线程中的问题已根据提供的答案得到解决。现在我在运行时遇到了另一个问题。请看下面的说明。我是C++领域的新手,所以如果您告诉我除了我在问题陈述中描述的内容之外,对所提供代码的任何部分有任何改进的必要性,我将不胜感激。描述:我有一个名为GenericMessage的C++类,它只包含一个id和数据作为其成员(参见下面的代码片段2-GenericMessage.hxx)。我的目的是序列化此类的实例并通过实现推送模式的ZeroM

c# - ZeroMQ C# 客户端未接收到 C++ 服务器发布/订阅版本 3.2

我在使用C#zeromq客户端接收来自C++服务器的消息时遇到问题订阅Release模式。服务器设置是一个传输层,有两种类型传输策略(PublishSubsribe和RequestReply)。这些是用c++编码并使用3.2.0libzmq。classPublishSubsribe:publicITransportStrategy{private:zmq::context_t_context;zmq::socket_t_socket;public:PublishSubsribe(std::stringurl):_context(1),_socket(_context,ZMQ_PUB){

c++ - 在 Haskell 项目中包含 C++ 源代码

我正在尝试制作一个将在Haskell中公开但在C++中实现的数据结构。到目前为止,我已经在.cpp文件中实现了它,将我需要的所有函数声明为extern"C"并将源文件添加到c-.cabal文件中的sources字段。当我构建项目时(在本例中使用stackbuild),它似乎构建得很好。我知道它正在对C++文件做某事,因为如果有错误它就不会编译。我还没有尝试运行这个项目,因为它是一个库,到目前为止它还没有写任何“可运行”的东西,但repl似乎不起作用。当我尝试运行它时(在本例中为stackrepl),我收到一个丢失的符号错误,其中包含一些损坏的名称,这些名称可能是也可能不是我文件中的名称

c++ - 在 haskell 的 FFI 后面使用 stdout/stderr/stdin 流

我正在开发一个小的haskell程序,它使用我用C++开发的外部静态库。它通过ghc的FFI(外部函数接口(interface))访问库。在这个库中,我想对控制台进行一些输出。但是,在我看来,看起来事物的C++端没有正确的stdout句柄,因为输出没有出现在控制台上。那么,我的问题是:是ghc劫持了这三个流(stdout、stdin、stderr)还是libstdc++只是因为我正在与ghc链接而没有初始化它们?如果我的FFI导入写入标准输出,它们是否需要“安全”?如何将标准输出传递给C函数?我应该直接传递它还是需要C类型?附加说明:我将libstdc++直接链接到可执行文件(即ghc

ios - 将文件读入字符串haskell

这个问题在这里已经有了答案:AHaskellfunctionoftype:IOString->String(4个答案)关闭7年前。相当简单的问题,但我很难克服。我在网上找到的所有示例都没有用,不确定是不是因为它们已经过时并且IO中的某些内容在过去2-3年中发生了变化,或者我遗漏了一些明显的东西。我知道用readFile读取文件返回IOString并且没有简单的方法来摆脱它,但据说可以简单地将文件读入正常String是s它在命令行中工作,但我不能让它在函数中工作。getString::IOStringgetString=readFile"Input.txt"相当简单,但返回IOStrin

php - 超时后如何断开ZeroMQ套接字?

我一直非常成功地将ZeroMQ与PHP结合使用,并编写了一个作业服务器。我有一个管理脚本,用于检查服务器的运行状况并执行诸如超时ping之类的操作。当服务器启动时一切正常,但当它关闭时(并且ZMQPoll按预期超时)我的脚本执行它应该做的-但脚本永远不会终止。我已经尝试清理和取消设置所有套接字变量等。但即使调用exit()PHP脚本也会挂起。似乎没有套接字disconnect()方法,那么我如何告诉PHP套接字已死并且我不希望它挂起?下面是我的管理脚本中的一段代码-//...//waitingfordeadserveronzmqsocktorespondaftersendingames

android - 为 Android 模拟器 x86 构建的 ZeroMQ

我构建了zeroMQunderthisinstruction.我为android创建Xamarin项目,从nugetclrzmq包中添加并将libzmq.so文件放入文件夹libs->armeabi库->armeabi-v7a库->x86当我在真实设备上调试应用程序时。它似乎在工作。但是当我在Android模拟器x86(Genymotion)上运行应用程序时。我捕获了DllNotFoundException并在设备日志中查看消息未找到libzmq。我尝试使用x86版本的库构建--host=i686-linux-android我如何为android-x86架构构建zeromq?

android - Haskell Android OpenGL

我在使用Ajhc跟踪OpenGL中的2d对象时一直遇到问题。我不知道如何跟踪我的对象并防止它离开设备的宽度和高度。谁能提供帮助?我的代码在这里:moduleDrawwhereimportCubeVertsimportCoSysimportAndroidNdkimportAndroidNdk.LogimportForeign.Marshal.ArrayspriteMv::Float->Float->Float->Float->Float->IO()spriteMvxydxdyz=dodrawFuncdrawFunc::IO()drawFunc=doc_glDrawArraysc_GL_T

c++ - 在 Haskell 中捕获 C++ FFI 异常失败

在Haskell中使用FFI到C++时,在cabalrepl中运行函数时我能够正确捕获异常,但是在使用cabalrun运行时,异常是没有被抓到。一个简单的cabal项目展示了这个问题如下:exception.cabal:name:exceptionversion:0.1.0.0build-type:Simplecabal-version:>=1.10executableexceptionmain-is:Main.hsc-sources:main.cxxbuild-depends:base>=4.7&&主.cxx:#include#includeextern"C"inths_except