对于任何具有MT / RMQ基础知识的人来说,我确信这是一个简单的方法。
我从网上采用了一个简单的客户端/服务器示例,我试图让它在我的机器上本地工作,但是我没有运气。我有RabbitMQ网站管理显示我的“客户”消息正在发布,但我的“服务器”没有收到这些消息。
这是我的代码:
// Server
class Program
{
static void Main(string[] args)
{
Console.WindowWidth = 200;
Console.WriteLine("This is the server");
Bus.Initialize(sbc =>
{
sbc.UseRabbitMq();
sbc.ReceiveFrom("rabbitmq://localhost/simple_first_server");
sbc.Subscribe(subs =>
{
subs.Handler<string>(msg => Console.WriteLine(msg));
});
});
Console.ReadKey();
}
}
// Client
class Program
{
static void Main(string[] args)
{
Console.WriteLine("This is the client");
Bus.Initialize(sbc =>
{
sbc.UseRabbitMq();
sbc.ReceiveFrom("rabbitmq://localhost/simple_first_server");
});
String read;
while (!String.IsNullOrEmpty(read = Console.ReadLine()))
{
Bus.Instance.Publish("hello");
}
Console.ReadKey();
}
}
作为参考,我正在运行Windows 8(64位)。除了安装Erland和RabbitMQ之外,我还没有配置Windows - 也许我错过了安装步骤?
感谢您的帮助
答案 0 :(得分:2)
这两个程序需要从不同的队列中读取。可能发生的是客户端正在从队列中读取并在服务器有机会读取消息之前丢弃该消息。