lixiaojun
2024-11-18 ae0dcbec3f362c032a5cc71f78bc8d8d968eddfd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
namespace IStation.Server
{
    internal class SocketHelper : IJobHelper
    {
        private IServer _server = null;
 
        /// <summary>
        /// 开始
        /// </summary>
        public async void Start()
        {
            if (_server != null)
            {
                return;
            }
            var host = SuperSocketHostBuilder.Create<PackageInfo>();
            host.UsePipelineFilterFactory<PipeLineFilterFactory>();
            host.UseSession<MySession>();
            host.UseHostedService<MyServer>();
            host.ConfigureSuperSocket(options =>
             {
                 options.Name = "SZJTKT";
                 options.MaxPackageLength = 1000000;
                 options.ReceiveBufferSize = 1000000;
                 options.SendBufferSize = 1000000;
                 options.Listeners = new List<ListenOptions>()
                 {
                     new ListenOptions(){ Ip="Any",Port=ConfigHelper.ServerPort}
                 };
             });
            host.UsePackageHandler(RequestReceivedHelper.Receive);
            _server = host.BuildAsServer();
            await _server.StartAsync();
            LogHelper.Info($"Socket服务,端口:{ConfigHelper.ServerPort},开启成功!");
        }
 
        /// <summary>
        /// 取消
        /// </summary>
        public async void Cancel()
        {
            if (_server == null)
                return;
            await _server.StopAsync();
            LogHelper.Info($"Socket服务,端口:{ConfigHelper.ServerPort},关闭成功!");
        }
 
 
    }
}