• 
    

      <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
      1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>

        如何理解sockettcp開(kāi)發(fā)包MiniSocket

        本篇文章給大家分享的是有關(guān)如何理解socket tcp開(kāi)發(fā)包MiniSocket,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

        專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)岐山免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

        MiniSocket 采用socket tcp方式通訊,自動(dòng)處理分包合并,性能高,使用簡(jiǎn)單,非常容易進(jìn)行二次開(kāi)發(fā)

        服務(wù)端使用:打開(kāi)vs2017 新建.net core(2.1版本以上) 控制臺(tái)應(yīng)用,nuget搜索MiniSocket 下載

        代碼:

                static void Main(string[] args)
                {
                    // 實(shí)際化服務(wù)端對(duì)象
                    Network server = new Network();
                    // 設(shè)置ip地址
                    server.Ip = "127.0.0.1";
                    // 設(shè)置端口號(hào)
                    server.Port = 9123;
                    // 設(shè)置客戶端最大連接數(shù)
                    server.ClientMaxCnt = 10;
                    // 設(shè)置接收超時(shí)
                    server.ReceiveTimeout = 1000 * 100;
                    // 設(shè)置發(fā)送超時(shí)
                    server.SendTimeout = 1000 * 100;
                    // 設(shè)置接收緩沖區(qū)大小
                    server.RecvBufferSize = 1024;
                    // 設(shè)置工作線程數(shù)
                    server.WorkThreadCnt = 20;
                    // 設(shè)置客戶端超時(shí)時(shí)間(秒)
                    server.TimeOver = 30;
                    // 設(shè)置接收完成事件
                    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);
                    }
                }

        客戶端使用:打開(kāi)vs2017 新建.net framework(4.0版本以上) 控制臺(tái)應(yīng)用,nuget搜索MiniSocketClient 下載

        代碼:

               static void Main(string[] args)
                {
                    // 實(shí)例化客戶端對(duì)象
                    Network client = new Network();
                    // 設(shè)置ip地址
                    client.Ip = "127.0.0.1";
                    // 設(shè)置端口號(hào)
                    client.Port = 9123;
                    // 設(shè)置接收超時(shí)
                    client.ReceiveTimeout = 1000 * 30;
                    // 設(shè)置發(fā)送超時(shí)
                    client.SendTimeout = 1000 * 30;
                    // 設(shè)置接收緩沖區(qū)大小
                    client.ReceiveBufferSize = 1024;
                    // 接收完成事件
                    client.RecvCompleted += RecvComplete;
                    // 退出事件
                    client.ExitCompleted += ExitCompleted;
                    // 初始化
                    client.Init();
                    // 發(fā)送第一包數(shù)據(jù)
                    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>
                /// 發(fā)送完成事件
                /// </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: // 發(fā)送異常
                            break;
                        case 3: // 接收異常
                            break;
                        case 4: // 手動(dòng)強(qiáng)制退出
                            break;
                    }
                }

        以上就是如何理解socket tcp開(kāi)發(fā)包MiniSocket,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

        網(wǎng)頁(yè)題目:如何理解sockettcp開(kāi)發(fā)包MiniSocket
        當(dāng)前鏈接:http://www.jbt999.com/article12/ijjgdc.html

        成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、App設(shè)計(jì)外貿(mào)網(wǎng)站建設(shè)、定制開(kāi)發(fā)服務(wù)器托管、自適應(yīng)網(wǎng)站

        廣告

        聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

        外貿(mào)網(wǎng)站建設(shè)

      2. 
        

          <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
          1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>
            国产在线视频福利 | 漂亮一区二区三区大学生 | 收seo量跳转量影视X量@DJYT8 | 亚洲成人网站无码在线观看 | 欧美成人免费精品 | 欧美性爱免费网址 | 天天操B 色色大香蕉 | 人人操综合| 亚洲无码视屏 | 日本欧美视频 |