草庐IT

message-bus

全部标签

c# - Message Queue 服务不可用

我有一个TCP服务器,在Windows集群中作为Windows服务运行。它接收消息并将它们放入队列(MSMQ)。我创建了一个公共(public)MSMQ队列。我收到此错误消息:System.Messaging.MessageQueueException(0x80004005):MessageQueueserviceisnotavailable.atSystem.Messaging.MessageQueue.MQCacheableInfo.get_WriteHandle()atSystem.Messaging.MessageQueue.StaleSafeSendMessage(MQPRO

java - Spring 集成版本 3.0 : Splitting TCP stream message into multiple Messages based on content

我正在使用spring集成框架连接到一些遗留服务器套接字。下面是我的客户端工厂和适配器:在流到字符串转换器的下方:下面的部分是空的,因为我不确定在这里要实现什么,以便它可以调用我的路由器,而路由器将完成它的业务。我已经尝试使用拆分器,它确实有效,如果流以“ABCDEFGHWXYZ”或“ABCD”的所需格式出现,但如果流以“ABCDXXXXEFGHWXYZ”的形式出现,则它会失败。期望的结果是它应该处理3条消息和1个错误。但它处理了1条消息,其余的都被忽略了。下面的代码:和MessageSpliterBean类如下:@SplitterpublicList>splitMessage(Mes

networking - 使用 ISO8583 消息的 Message Queue 与 TCP

我想要一些关于在传输介质上传输ISO8583消息的意见。发送ISO8583消息时使用TCP与MessageQueue的优缺点是什么?哪个选项更适合不同的环境? 最佳答案 ISO8583是一种逻辑消息格式,几乎可以在任何介质上传输。TCP和“消息队列”处于非常不同的通信抽象层(OSI4与7),因此它们不能直接进行比较。你有什么要求?例如。可靠性、可恢复性、性能、数据保护、事务性、可审计性 关于networking-使用ISO8583消息的MessageQueue与TCP,我们在StackO

ios - swift 套接字 : Can't send more than one TCP message

我正在使用SwiftSocket将TCP消息从我的iPad发送到本地设备。第一条消息已正确接收,但当我尝试发送另一条消息时,出现connectionTimeout错误。有什么想法吗?swift3代码:funcsendMessage(_message:String){self.client=TCPClient(address:"192.168.0.16",port:7777)switchself.client.connect(timeout:1){case.success:switchself.client.send(string:"\(message)\n"){case.success

javascript - 相当于 : echo 'message' | nc -v <server> <port> 的 Node.js

尝试在Node.js应用程序中发送纯文本消息,就像我使用“nc”从终端发送纯文本消息一样,即echo"a.random.test"|nc-v但是做不到。我曾尝试使用const'netcat/client'npm模块,但没有成功。这是该模块文档的链接https://github.com/roccomuso/netcat以下是我目前的一些尝试。似乎已建立连接(由于回调触发而确认)但是消息中有额外的填充,我想要的“a.random.test”明文消息未按原样接收,“a.random.test”。constnclient=require('netcat/client')constnc2=new

tcp - 异步套接字 : always listen to incoming TCP messages

我想要一个通过TCP连接到服务器然后持续监听传入数据的服务。我正在使用CocoaAsyncSocket我正在以下列方式使用它:self.socket=[[GCDAsyncSocketalloc]initWithDelegate:selfdelegateQueue:dispatch_get_main_queue()];NSError*err=nil;if(![self.socketconnectToHost:@"..."onPort:...error:&err]){return;}[self.socketreadDataWithTimeout:-1tag:1];然后在读取委托(deleg

java - 使用 Eneter Messaging 和 Protocol Buffers 在 3g 网络上的端口 80 上启动 tcp 服务器的权限被拒绝

我正在开发一个项目,我的android应用程序应该充当其他android客户端的服务器。我正在使用Enetermessagingframework它使用套接字和谷歌Protobuf..在wifi上一切都像一个魅力但是一旦我切换到3g网络(尝试使用手机的3g公共(public)ip地址和端口80/81启动服务器)我收到以下错误:EACCES(权限被拒绝)E/EneterMessaging:~24216eneter.messaging.messagingsystems.tcpmessagingsystem.internal.TcpListenerProvider.startListenin

java - 骡子 ESB 3.4.0 CE : Redeliver message through TCP Endpoint upon Socket Exception

我有一个需要持久TCP连接的应用程序。所以我在Tcp连接器上设置了一些适当的属性来支持它。我遇到的问题是,如果外部应用程序关闭并重新启动,Mule将继续尝试将消息发送到套接字,而不是尝试重新建立连接。这是我的错误日志:ERROR2014-04-3017:11:35,436[[chatroomexample].connector.VM.mule.default.receiver.04]org.mule.exception.DefaultMessagingExceptionStrategy:**************************************************

c# - 使用 TCP : "The message could not be dispatched..." 时收到错误

我不熟悉创建WCF服务。我在VS2008中创建了一个运行在IIS7上的WCFWeb服务。当我使用http时,该服务运行良好。当我为TCP配置服务并运行时,我收到以下错误消息。Therewasacommunicationproblem.Themessagecouldnotbedispatchedbecausetheserviceattheendpointaddress'net:tcp://elec:9090/CoordinateIdTool_Tcp/IdToolService.svcisunavailablefortheprotocoloftheaddress.我搜索了很多论坛,包括这个

c++ - 从 recv() 读取多个 "message"

完全有可能使用recv()调用将多个单独的“消息”(例如2个send())读入缓冲区。在这种情况下,一旦您意识到缓冲区中的数据多于所需,您将如何将第二条消息放回recv()缓冲区?例如,所有消息都以一个指定其长度的字节为前缀。我需要继续接收,直到将正确数量的字节读入缓冲区,但不能继续接收。一个想法是执行一次recv()来确定消息长度,然后创建一个具有该大小的缓冲区。我不知道不适合缓冲区的数据会发生什么情况。 最佳答案 如果您想要接收固定尺寸,您可以这样做:ssize_trecv_all(intsocket,char*buffer_p