wanshenmean
2026-02-03 d8a9b76a6bb2824c1e9fb0d17938c926472dd78b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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");
        }
    }
}