using System;
|
using System.IO;
|
|
namespace WIDESEAWCS_Tasks.SocketServer
|
{
|
public partial class TcpSocketServer
|
{
|
/// <summary>
|
/// ÊÍ·Å·þÎñÆ÷ʹÓõÄËùÓÐ×ÊÔ´²¢Í£Ö¹¼àÌý´«ÈëÁ¬½Ó¡£
|
/// </summary>
|
/// <remarks>µ±²»ÔÙÐèÒª·þÎñÆ÷ʱµ÷Óô˷½·¨£¬ÒÔÈ·±£ËùÓÐÏà¹Ø×ÊÔ´£¨ÈçÍøÂç¼àÌýÆ÷ºÍͬ²½ÔÓ±»ÕýÈ·ÊÍ·Å¡£
|
/// µ÷Óà <see cref="Dispose"/> ºó£¬·þÎñÆ÷ÎÞ·¨ÖØÐÂÆô¶¯»òÔÙ´ÎʹÓá£</remarks>
|
public void Dispose()
|
{
|
_cts?.Cancel();
|
_listener?.Stop();
|
_cts?.Dispose();
|
foreach (var sem in _clientLocks.Values) { try { sem.Dispose(); } catch { } }
|
_clientLocks.Clear();
|
Log($"[{DateTime.Now}] TcpSocketServer stopped");
|
}
|
}
|
}
|