本文整理汇总了C#中NetMQ.Sockets.DealerSocket.BindRandomPort方法的典型用法代码示例。如果您正苦于以下问题:C# DealerSocket.BindRandomPort方法的具体用法?C# DealerSocket.BindRandomPort怎么用?C# DealerSocket.BindRandomPort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NetMQ.Sockets.DealerSocket
的用法示例。
在下文中一共展示了DealerSocket.BindRandomPort方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BindRandom
public void BindRandom()
{
using (var randomDealer = new DealerSocket())
using (var connectingDealer = new DealerSocket())
{
int port = randomDealer.BindRandomPort("tcp://*");
connectingDealer.Connect("tcp://127.0.0.1:" + port);
randomDealer.SendFrame("test");
Assert.AreEqual("test", connectingDealer.ReceiveFrameString());
}
}
示例2: BindToLocal
public void BindToLocal()
{
var validAliasesForLocalHost = new[] { "127.0.0.1", "localhost", Dns.GetHostName() };
foreach (var alias in validAliasesForLocalHost)
{
using (var localDealer = new DealerSocket())
using (var connectingDealer = new DealerSocket())
{
var port = localDealer.BindRandomPort("tcp://*");
connectingDealer.Connect(string.Format("tcp://{0}:{1}", alias, port));
localDealer.SendFrame("test");
Assert.AreEqual("test", connectingDealer.ReceiveFrameString());
Console.WriteLine(alias + " connected ");
}
}
}
示例3: Unbind
public void Unbind(string protocol)
{
using (var server = new DealerSocket())
{
string address1, address2;
// just making sure can bind on both addresses
using (var client1 = new DealerSocket())
using (var client2 = new DealerSocket())
{
if (protocol == "tcp")
{
var port1 = server.BindRandomPort("tcp://localhost");
var port2 = server.BindRandomPort("tcp://localhost");
address1 = "tcp://localhost:" + port1;
address2 = "tcp://localhost:" + port2;
client1.Connect(address1);
client2.Connect(address2);
}
else
{
Debug.Assert(protocol == "inproc");
address1 = "inproc://localhost1";
address2 = "inproc://localhost2";
server.Bind(address1);
server.Bind(address2);
client1.Connect(address1);
client2.Connect(address2);
}
Thread.Sleep(100);
// we should be connected to both server
client1.SendFrame("1");
client2.SendFrame("2");
// the server receive from both
server.SkipFrame();
server.SkipFrame();
}
// unbind second address
server.Unbind(address2);
Thread.Sleep(100);
using (var client1 = new DealerSocket())
using (var client2 = new DealerSocket())
{
client1.Options.DelayAttachOnConnect = true;
client1.Connect(address1);
client2.Options.DelayAttachOnConnect = true;
if (protocol == "tcp")
{
client2.Connect(address2);
client1.SendFrame("1");
server.SkipFrame();
Assert.IsFalse(client2.TrySendFrame(TimeSpan.FromSeconds(2), "2"));
}
else
{
Assert.Throws<EndpointNotFoundException>(() => { client2.Connect(address2); });
}
}
}
}
示例4: Disconnect
public void Disconnect(string protocol)
{
using (var server1 = new DealerSocket())
using (var server2 = new DealerSocket())
using (var client = new DealerSocket())
{
string address2;
if (protocol == "tcp")
{
var port1 = server1.BindRandomPort("tcp://localhost");
var port2 = server2.BindRandomPort("tcp://localhost");
client.Connect("tcp://localhost:" + port1);
client.Connect("tcp://localhost:" + port2);
address2 = "tcp://localhost:" + port2;
}
else
{
server1.Bind("inproc://localhost1");
server2.Bind("inproc://localhost2");
client.Connect("inproc://localhost1");
client.Connect("inproc://localhost2");
address2 = "inproc://localhost2";
}
Thread.Sleep(100);
// we should be connected to both server
client.SendFrame("1");
client.SendFrame("2");
// make sure client is connected to both servers
server1.SkipFrame();
server2.SkipFrame();
// disconnect from server2, server 1 should receive all messages
client.Disconnect(address2);
Thread.Sleep(100);
client.SendFrame("1");
client.SendFrame("2");
server1.SkipFrame();
server1.SkipFrame();
}
}
示例5: HasOutTest
public void HasOutTest()
{
using (var server = new DealerSocket())
{
using (var client = new DealerSocket())
{
var port = server.BindRandomPort("tcp://*");
// no client is connected so we don't have out
Assert.IsFalse(server.HasOut);
Assert.IsFalse(client.HasOut);
client.Connect("tcp://localhost:" + port);
Thread.Sleep(200);
// client is connected so server should have out now, client as well
Assert.IsTrue(server.HasOut);
Assert.IsTrue(client.HasOut);
}
//Thread.Sleep(2000);
// client is disposed,server shouldn't have out now
//Assert.IsFalse(server.HasOut);
}
}
示例6: DisposeImmediately
public void DisposeImmediately()
{
using (var server = new DealerSocket())
{
server.BindRandomPort("tcp://*");
}
}
示例7: Ipv6ToIpv6
public void Ipv6ToIpv6()
{
using (var localDealer = new DealerSocket())
using (var connectingDealer = new DealerSocket())
{
localDealer.Options.IPv4Only = false;
var port = localDealer.BindRandomPort("tcp://*");
connectingDealer.Options.IPv4Only = false;
connectingDealer.Connect(string.Format("tcp://{0}:{1}", IPAddress.IPv6Loopback, port));
connectingDealer.SendFrame("test");
Assert.AreEqual("test", localDealer.ReceiveFrameString());
}
}
示例8: Ipv6ToIpv4
public void Ipv6ToIpv4()
{
using (var localDealer = new DealerSocket())
using (NetMQSocket connectingDealer = new DealerSocket())
{
localDealer.Options.IPv4Only = false;
var port = localDealer.BindRandomPort("tcp://*");
connectingDealer.Connect($"tcp://{IPAddress.Loopback}:{port}");
connectingDealer.SendFrame("test");
Assert.AreEqual("test", localDealer.ReceiveFrameString());
}
}
示例9: BindToLocal
public void BindToLocal()
{
var validAliasesForLocalHost = new[] { "127.0.0.1", "localhost", Dns.GetHostName() };
foreach (var alias in validAliasesForLocalHost)
{
using (var localDealer = new DealerSocket())
using (var connectingDealer = new DealerSocket())
{
var port = localDealer.BindRandomPort("tcp://*");
connectingDealer.Connect($"tcp://{alias}:{port}");
localDealer.SendFrame("test");
Assert.AreEqual("test", connectingDealer.ReceiveFrameString());
}
}
}