gpt4 book ai didi

c - ActiveMQ OpenWire C API问题

转载 作者:行者123 更新时间:2023-11-30 16:01:24 25 4
gpt4 key购买 nike

我在Ubuntu上运行ActiveMQ 5.5.0代理,下载并编译了APR 1.4.5和C API相关的libactivmq和libopenwire。

示例中提供的测试 c 位于: http://svn.apache.org/repos/asf/activemq/sandbox/openwire-c/src/examples/

不起作用,问题出在 WireFormat 魔术代码上,请参阅日志中的调试行:

2011-07-07 15:35:30,324 |调试|发送:WireFormatInfo { version = 7,properties = {CacheSize = 1024,CacheEnabled = true,SizePrefixDisabled = false,MaxInactivityDurationInitalDelay = 10000,TcpNoDelayEnabled = true,MaxInactivityDuration = 30000,TightEncodingEnabled = true,StackTraceEnabled = true},magic = [A,c ,t,i,v,e,M,Q]} | org.apache.activemq.transport.WireFormatNegotiator | org.apache.activemq.transport.WireFormatNegotiator ActiveMQ 任务 22011-07-07 15:35:30,327 |调试|使用本地最小值:WireFormatInfo { version=7,properties={CacheSize=1024,CacheEnabled=true,SizePrefixDisabled=false,MaxInactivityDurationInitalDelay=10000,TcpNoDelayEnabled=true,MaxInactivityDuration=30000,TightEncodingEnabled=true,StackTraceEnabled=true},magic=[ A,c,t,i,v,e,M,Q]} 和远程: WireFormatInfo { version=1297154048,properties={}, magic=[^A,^@,A,c,t,i,v, e]} | org.apache.activemq.transport.InactivityMonitor | org.apache.activemq.transport.InactivityMonitor | ActiveMQ 传输:tcp:///127.0.0.1:516062011-07-07 15:35:30,327 |调试|收到 WireFormat:WireFormatInfo { version=1297154048,properties={},magic=[^A,^@,A,c,t,i,v,e]} | org.apache.activemq.transport.WireFormatNegotiator | org.apache.activemq.transport.WireFormatNegotiator ActiveMQ 传输:tcp:///127.0.0.1:516062011-07-07 15:35:30,333 |调试| tcp:///127.0.0.1:51606 协商前:OpenWireFormat{version=7,cacheEnabled=false,stackTraceEnabled=false,tightEncodingEnabled=false,sizePrefixDisabled=false} | org.apache.activemq.transport.WireFormatNegotiator | org.apache.activemq.transport.WireFormatNegotiator ActiveMQ 传输:tcp:///127.0.0.1:516062011-07-07 15:35:30,337 |调试|传输失败:java.io.IOException:远程有线格式魔法无效 | org.apache.activemq.broker.TransportConnection.Transport | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ 传输:tcp:///127.0.0.1:51606

我调试了客户端并捕获了发送到代理的值,15个字节,我将在下面列出它们:1:'\001'2:'\001'3: '\000'4:“A”5:“c”6:“t”7:“我”8:“v”9:“e”10:'M'11:“问”12:'\000'13:'\000'14:'\000'15:'\002'这里最后四个字节是版本,设置为2

不知何故,此消息被经纪人转移/误解,因此魔术 token 和版本是错误的。

还有一条信息:我使用提供的版本 ow_commands_v1.[ch] 和 ow_commands_v2.[ch] 编译了 libopenwire,因此我尝试将测试与这两个版本链接起来,结果与任一版本相同。有谁知道两个版本的原因吗?我应该使用哪一个?

注意:此消息几天前已在 apache 论坛上发布,但没有回复。我希望这个网站上的消息能获得更多的流量。

最佳答案

OpenWire C API 没有由任何人维护,因此它被破坏也就不足为奇了。 ActiveMQ svn 存储库中有一个用于 ActiveMQ-CPP 的 C 包装器,如果您真的愿意使用 C,您可以尝试使用它。

关于c - ActiveMQ OpenWire C API问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6656599/

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