阅读 156

net core 下运行 supersocket

标签:agg   runas   soft   switch   utf8   ext   listener   pip   pipeline   

using System;using System.Linq;using System.Text;using System.Threading.Tasks;using Microsoft.Extensions.Hosting;using Microsoft.Extensions.Logging;using SuperSocket;using SuperSocket.ProtoBase;namespace myApp
{    class Program
    {        static async Task Main(string[] args)
        {            var host = SuperSocketHostBuilder
            .Create<StringPackageInfo, CommandLinePipelineFilter>()
            .ConfigurePackageHandler(async (session, package) =>
            {                var result = 0;                try
                {                    switch (package.Key.ToUpper())
                    {                        case ("ADD"):
                            result = package.Parameters
                                .Select(p => int.Parse(p))
                                .Sum();                            break;                        case ("SUB"):
                            result = package.Parameters
                                .Select(p => int.Parse(p))
                                .Aggregate((x, y) => x - y);                            break;                        case ("MULT"):
                            result = package.Parameters
                                .Select(p => int.Parse(p))
                                .Aggregate((x, y) => x * y);                            break;
                    }
                }                catch (Exception ex)
                {
                }                await session.SendAsync(Encoding.UTF8.GetBytes(result.ToString() + "\r\n"));
            })
            .ConfigureLogging((hostCtx, loggingBuilder) =>
            {
                loggingBuilder.AddConsole();
            })
            .ConfigureSuperSocket(options =>
            {
                options.Name = "Echo Server";
                options.Listeners = new[] {                    new ListenOptions
                    {
                        Ip = "Any",
                        Port = 4040
                    }
                };
            }).Build();            await host.RunAsync();
        }
    }
}

参考资料:https://docs.supersocket.net/v2-0/zh-CN/A-Telnet-Example

.net core 下运行 supersocket

标签:agg   runas   soft   switch   utf8   ext   listener   pip   pipeline   

原文地址:https://www.cnblogs.com/hellowzl/p/14442360.html


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐