欢迎访问玛尊真服务平台,本站唯一网址:www.isodyi.com,未经明确书面许可,任何人不得擅自使用“玛尊真”等商标。
玛尊真ISO认证服务公司

如何理解sockettcp开发包MiniSocket

本篇文章给大家分享的是有关如何理解socket tcp开发包MiniSocket,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

专注于为中小企业提供成都网站设计、成都做网站、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业岐山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

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;
            }
        }

以上就是如何理解socket tcp开发包MiniSocket,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。

上一篇:没有了
快速申请办理
称呼: *
电话: *

订单提交后,10分钟内,我们将安排工作人员和您联系!

热点资讯
联系我们
大悟县玛尊真商贸有限公司
电   话:0712-7218610

传   真:0712-7218610

谭经理:18980820575

王主任:135 1821 9792

邮   箱:631063699@qq.com

地   址:湖北省孝感市大悟县城关镇鄂北物流城13栋125号

微信二维码
扫一扫 关注我们
电话:

189-8208-1108

湖北省孝感市大悟县城关镇鄂北物流城13栋125号八戒云创空间-D1-430

ISO体系认证
iso认证
服务体系认证
有机产品认证
OHSAS18001
ITSS认证
信用评级
中国招标企业信用认证
资信等级
重合同守信用
企业信用认证
中国诚信供应商
质量、服务诚信认证
CMMI
CMMI1
CMMI2
CMMI3
CMMI4
CMMI5
系统集成
系统集成一级
信息系统集成二级
信息系统集成三级
信息系统集成四级
涉密信息系统集成
资质许可证
生产许可证认证
GS认证
CCC认证
中国节能认证
十环认证
知识产权

Copyright © 2002-2025

大悟县玛尊真商贸有限公司 版权所有

备案/许可证号:鄂ICP备2025140345号-7   网站建设创新互联
 
QQ在线咨询
客服咨询
咨询热线
189-8208-1108