我正在寻找一个通信库(套接字,也可能是IPC),以便在Linux上使用C ++,如果可能的话,也可以在Windows上使用,如果它是独立于平台的。
它应该是异步的。我尝试了Boost Asio Library,但是由于我们无法找到解决方案的限制,我们无法在我们的解决方案中使用Asio库。
它应该是一种实现,其中不需要单独执行外部二进制文件来充当独立服务器。
你们中是否有人知道可以帮助我解决这些限制的事情,因为我不想从头开始实现这种沟通。
修改 我忘了提一个限制。通信应该允许实现独立的客户端和服务器,因此消息传递系统应该向专用源发送和接收单个消息/字符串(服务器将字符串str发送到客户端c)
编辑2: Boost限制是使用当前系统,使用MPICH2或openmpi的MPI编译器编译Boost Asio,特别是在使用mpi调用时,尝试通过asio进行通信时会丢失几条消息。
答案 0 :(得分:4)
看看ZeroMQ,a.k.aØMQ。
答案 1 :(得分:2)
很多免费的东西可用,寻找任何实现AMQP的东西(例如,并且不限于:Apache的尝试 - ActiveMQ,如上所列的ZeroMQ,rabbit mq [比零更完整]甚至Red Hat都在红帽消息游戏)。
从Tibco到29 West,Tervela到Solace等各种解决方案的薪酬很高 - 这取决于你想要多少钱......
其他选项,我真的很喜欢包括OpenDDS - 与AMQP不同,但同样具有高度可扩展性和非常好的性能。 (忘了说,OpenDDS使用ACE ......)