本文整理汇总了C#中Module.GetMyNode方法的典型用法代码示例。如果您正苦于以下问题:C# Module.GetMyNode方法的具体用法?C# Module.GetMyNode怎么用?C# Module.GetMyNode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Module
的用法示例。
在下文中一共展示了Module.GetMyNode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TwoNodesTest
public void TwoNodesTest()
{
var module1 = new Module(Guid.NewGuid());
module1.Configure();
module1.Start();
var module2 = new Module(Guid.NewGuid(), 11112);
module2.Configure();
module2.Start();
Assert.IsTrue(module1.IsRunning);
Assert.IsTrue(module2.IsRunning);
var client1 = module1.Find<ClientInterface>();
var client2 = module2.Find<ClientInterface>();
client2.Connect("localhost", 11111);
var msgEvent = new AutoResetEvent(false);
client1.MessageReceived += (sender, args) =>
{
Logger.Info("Client1 message received.");
msgEvent.Set();
};
client2.MessageReceived += (sender, args) =>
{
Logger.Info("Client2 message received.");
Assert.IsNotNull(args.Data.Path);
Assert.IsTrue(args.Data.Path.Count == 2);
Assert.IsTrue(args.Data.Path[0] == module1.Id);
Assert.IsTrue(args.Data.Path[1] == module2.Id);
client2.Send(new Entities.Message()
{
From = module2.GetMyNode(),
To = args.Data.From.Id,
Data = new byte[1024]
});
};
client1.Send(new Entities.Message()
{
From = module1.GetMyNode(),
To = module2.Id,
Data = new byte[1024],
});
Assert.IsTrue(msgEvent.WaitOne(TimeSpan.FromSeconds(2)));
client1.Send(new Entities.Message()
{
From = module1.GetMyNode(),
To = module2.Id,
Data = new byte[1024],
});
Assert.IsTrue(msgEvent.WaitOne(TimeSpan.FromSeconds(2)));
module1.Stop();
module2.Stop();
}