本文整理汇总了C#中System.Net.Sockets.TcpClient.AddPermission方法的典型用法代码示例。如果您正苦于以下问题:C# TcpClient.AddPermission方法的具体用法?C# TcpClient.AddPermission怎么用?C# TcpClient.AddPermission使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.Sockets.TcpClient
的用法示例。
在下文中一共展示了TcpClient.AddPermission方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnAccept
/// <summary>
/// Called when a connection is accepted.
/// </summary>
private void OnAccept(object sender, SocketAsyncEventArgs args)
{
var sock = args.AcceptSocket;
if (!sock.Connected)
return;
// Wrap stuff in a try block, in case the socket is disposed of.
try
{
var accept = true;
// Do we accept multiple connections from the same address?
if (!AllowMultipleConnections)
lock (_clients)
accept = _clients.All(cl => !cl.EndPoint.Equals(sock.RemoteEndPoint.ToIPEndPoint()));
if (!accept)
{
_log.Warn("Disconnecting client from {0}; already connected.", sock.RemoteEndPoint);
sock.Shutdown(SocketShutdown.Both);
sock.Disconnect(false);
sock.Close();
}
else
{
// Add the client and thus start receiving.
var client = new TcpClient(sock, this, _propagator);
client.AddPermission(new ConnectedPermission());
AddClient(client);
}
}
catch (Exception ex)
{
if (ex is SocketException)
ExceptionManager.RegisterException(ex);
if (!(ex is ObjectDisposedException))
throw;
throw;
}
// Continue accepting with the event args we were using before.
Accept(args);
}