using System; using System.IO; namespace WIDESEAWCS_Tasks.SocketServer { public partial class TcpSocketServer { /// /// ÊÍ·Å·þÎñÆ÷ʹÓõÄËùÓÐ×ÊÔ´²¢Í£Ö¹¼àÌý´«ÈëÁ¬½Ó¡£ /// /// µ±²»ÔÙÐèÒª·þÎñÆ÷ʱµ÷Óô˷½·¨£¬ÒÔÈ·±£ËùÓÐÏà¹Ø×ÊÔ´£¨ÈçÍøÂç¼àÌýÆ÷ºÍͬ²½Ô­Ó±»ÕýÈ·ÊÍ·Å¡£ /// µ÷Óà ºó£¬·þÎñÆ÷ÎÞ·¨ÖØÐÂÆô¶¯»òÔÙ´ÎʹÓᣠ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"); } } }