本文整理汇总了C#中Listener.Listen方法的典型用法代码示例。如果您正苦于以下问题:C# Listener.Listen方法的具体用法?C# Listener.Listen怎么用?C# Listener.Listen使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Listener
的用法示例。
在下文中一共展示了Listener.Listen方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Listen_AnonymousData_Ok
public async Task Listen_AnonymousData_Ok(
[Frozen]HttpRequestMessage request,
Func<HttpRequestMessage> requestProvider,
[Frozen]Mock<IStreamingUtils> streamingUtils,
[Frozen]Mock<IHttpUtils> httpUtils,
Listener sut)
{
//Arrange
var twits = new[] {"Твиттер это ниочень", "Вот мой мир -- другое дело", "круче только одноклассники"};
var concatenatedTwits = string.Join('\n'.ToString(), twits);
var stream = new MemoryStream(Encoding.UTF8.GetBytes(concatenatedTwits));
var reader = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
httpUtils.Setup(a => a.UnescapeUnicode(It.IsAny<string>())).Returns((string r) => r);
streamingUtils.Setup(a => a.GetReader(It.IsAny<HttpRequestMessage>())).ReturnsAsync(reader);
var results = new List<string>();
Action<string> processRequest = a => results.Add(a);
//Act
await sut.Listen(requestProvider, processRequest);
//Assert
streamingUtils.Verify(a => a.GetReader(request), Times.Once);
results.ShouldAllBeEquivalentTo(twits);
}
示例2: Listener_ListenTwice_ThrowsSocketException
public void Listener_ListenTwice_ThrowsSocketException()
{
Listener listener = new Listener();
listener.Listen(0);
try
{
try
{
new Listener().Listen(0);
Assert.Fail("No Exception thrown");
}
catch (Exception ex)
{
Assert.IsTrue(ex is SocketException);
}
}
finally
{
listener.Stop();
}
}
示例3: listen
void listen()
{
if (listeners == null)
{
listeners = new List<Listener>();
Clients = new List<Client>();
foreach (int port in Settings.Ports)
{
Listener l = new Listener();
if (l.Listen(port))
{
l.SocketAccepted += listener_SocketAccepted;
EventLogger.LogEvent("Listening", "Successfully listening on port " + port.ToString());
}
else
EventLogger.LogEvent("Listening Failed", "Unable to listen on port " + port.ToString());
if (l.Running)
listeners.Add(l);
}
EventLogger.LogEvent("Started", "Net-Weave R has been started");
startToolStripMenuItem.Text = startToolStripMenuItem.Text.Replace("Listen", "Stop");
Pinger.Start(ref Clients);
}
else
{
Pinger.Stop();
StatusDialog d = new StatusDialog();
d.SetStatus("Stopping Listeners...");
new Thread(delegate()
{
foreach (Listener l in listeners)
{
if (l.Running)
{
l.SocketAccepted -= listener_SocketAccepted;
l.Stop();
EventLogger.LogEvent("Listening Stopped", "The listener for port " + l.Port + " has been stopped");
}
}
Restart();
d.SetStatus("Disconnecting Clients...");
if (Clients.Count > 0)
{
for (int i = 0; i < Clients.Count; i++)
{
Clients[i].DataReceived -= client_DataReceived;
Clients[i].DataSent -= client_DataSent;
Clients[i].Disconnected -= client_Disconnected;
Clients[i].Close();
}
}
listeners.Clear();
listeners = null;
Clients.Clear();
Clients = null;
Invoke((MethodInvoker)delegate
{
EventLogger.LogEvent("Stopped", "Net-Weave R has been stopped");
startToolStripMenuItem.Text = startToolStripMenuItem.Text.Replace("Stop", "Listen");
lstClients.Items.Clear();
d.Close();
});
}).Start();
d.ShowDialog();
}
}
示例4: RestartListeners
public void RestartListeners()
{
if (listeners == null)
return;
StatusDialog d = new StatusDialog();
new Thread(delegate()
{
d.SetStatus("Restarting listeners...");
EventLogger.LogEvent("Restarting", "Listeners are restarting");
foreach (Listener l in listeners)
{
l.Stop();
}
listeners.Clear();
for (int i = 0; i < Settings.Ports.Count; i++)
{
Listener l = new Listener();
int port = Settings.Ports[i];
if (l.Listen(port))
{
l.SocketAccepted += listener_SocketAccepted;
EventLogger.LogEvent("Listening", "Successfully listening on port " + port.ToString());
}
else
EventLogger.LogEvent("Listening Failed", "Unable to listen on port " + port.ToString());
if (l.Running)
listeners.Add(l);
}
Invoke((MethodInvoker)delegate
{
d.Close();
});
}).Start();
d.ShowDialog();
}