MiniSocket 简单易用的socket tcp开发包 .net core

MiniSocket 采用socket tcp方式通讯,自动处理分包合并,性能高,使用简单,非常容易进行二次开发

服务端使用:打开vs2017 新建.net core(2.1版本以上) 控制台应用,nuget搜索MiniSocket 下载

代码:

    static void Main(string[] args)
    {
        // 实际化服务端对象
        Network server = new Network();
        // 设置ip地址
        server.Ip = "127.0.0.1";
        // 设置端口号
        server.Port = 9123;
        // 设置客户端最大连接数
        server.ClientMaxCnt = 10;
        // 设置接收超时
        server.ReceiveTimeout = 1000 * 100;
        // 设置发送超时
        server.SendTimeout = 1000 * 100;
        // 设置接收缓冲区大小
        server.RecvBufferSize = 1024;
        // 设置工作线程数
        server.WorkThreadCnt = 20;
        // 设置客户端超时时间(秒)
        server.TimeOver = 30;
        // 设置接收完成事件
        server.RecvCompleted += RecvEventData;
        // 初始化
        bool bl =  server.Init();
        while(true)
        {
            Thread.Sleep(1000);
        }
    }

    /// <summary>
    /// 接收完成事件
    /// </summary>
    /// <param name="e"></param>
    /// <param name="sockArgs"></param>
    private static void RecvEventData(Network e,SocketParas sockArgs)
    {

        try
        {
            string str_head = Encoding.UTF8.GetString(sockArgs.HeadByt);
            string str_body = Encoding.UTF8.GetString(sockArgs.BodyByt);

            e.Send(sockArgs, Encoding.UTF8.GetBytes("this is header"), Encoding.UTF8.GetBytes("this is body"));
        }
        catch(Exception ex)
        {
            Print("RecvEventData "+ex.Message);
        }
    }

客户端使用:打开vs2017 新建.net framework(4.0版本以上) 控制台应用,nuget搜索MiniSocketClient 下载

代码:

   static void Main(string[] args)
    {
        // 实例化客户端对象
        Network client = new Network();
        // 设置ip地址
        client.Ip = "127.0.0.1";
        // 设置端口号
        client.Port = 9123;
        // 设置接收超时
        client.ReceiveTimeout = 1000 * 30;
        // 设置发送超时
        client.SendTimeout = 1000 * 30;
        // 设置接收缓冲区大小
        client.ReceiveBufferSize = 1024;
        // 接收完成事件
        client.RecvCompleted += RecvComplete;
        // 退出事件
        client.ExitCompleted += ExitCompleted;
        // 初始化
        client.Init();
        // 发送第一包数据
        client.Send(Encoding.UTF8.GetBytes("hello china"), Encoding.UTF8.GetBytes("hello world"));

        while (true)
        {
            Thread.Sleep(10);
        }

    }



    /// <summary>
    /// 接收完成事件
    /// </summary>
    /// <param name="e"></param>
    /// <param name="sockArgs"></param>
    private static void RecvComplete(Network e, SocketParas sockArgs)
    {
        try
        {

            Console.WriteLine(Encoding.UTF8.GetString(sockArgs.HeadByt) + Encoding.UTF8.GetString(sockArgs.BodyByt));
            e.Send(Encoding.UTF8.GetBytes("hello world"), Encoding.UTF8.GetBytes("hello MiniSocket"));
        }
        catch (Exception ex)
        {
            Print("RecvComplete " + ex.Message);
        }
    }

    /// <summary>
    /// 发送完成事件
    /// </summary>
    /// <param name="e"></param>
    /// <param name="sock"></param>
    private static void SendComplete(Network e, SocketParas sock)
    {

    }

    /// <summary>
    /// 退出事件
    /// </summary>
    /// <param name="state"></param>
    /// <param name="msg"></param>
    private static void ExitCompleted(int state, string msg)
    {
        switch (state)
        {
            case 0: // 正常
                break;
            case 1: // 连接异常
                break;
            case 2: // 发送异常
                break;
            case 3: // 接收异常
                break;
            case 4: // 手动强制退出
                break;
        }
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值