国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#網絡TCP服務器端的實現(xiàn)

這篇具有很好參考價值的文章主要介紹了C#網絡TCP服務器端的實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、實現(xiàn)代碼

private const int BACK_LOG = 5;
        private Socket tcpServer;
        private Socket tcpClient1;
        private CancellationTokenSource cts = new CancellationTokenSource();
        private void btServerStart_Click(object sender, EventArgs e)
        {
            if (this.btServerStart.Text == "打開")
            {
                //Socket實例化
                tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                //創(chuàng)建EndPoint
                EndPoint ep = new IPEndPoint(IPAddress.Parse(this.tbServerIPAddress.Text), int.Parse(this.tbServerPort.Text));
                try
                {
                    //綁定
                    tcpServer.Bind(ep);
                }catch(Exception ex)
                {
                    MessageBox.Show("服務器打開失敗:" + ex.Message);
                    return;
                }
                MessageBox.Show("服務器打開成功");
                this.btServerStart.Text = "關閉";
                tcpServer.Listen(BACK_LOG);
                Task.Run(new Action(() =>
                {
                    ListenConnection();
                }));
            }
            else
            {
                tcpServer?.Close();
                this.btServerStart.Text = "打開";
            }
        }

        private void ListenConnection()
        {
            while (true)
            {
                Socket tcpClient = tcpServer.Accept();
                tcpClient1 = tcpClient;
                Task.Run(new Action(() =>
                {
                    ReceiveSource(tcpClient);
                }));
            }
        }

        private void ReceiveSource(Socket tcpClient)
        {
            while (!cts.IsCancellationRequested)
            {
                byte[] buffer = new byte[1024 * 10];
                int length = -1;
                try
                {
                    length = tcpClient.Receive(buffer, SocketFlags.None);
                }
                catch (Exception ex)
                {
                    break;
                }
                if (length > 0)
                {
                    byte[] result = new byte[length];
                    Buffer.BlockCopy(buffer, 0, result, 0, length);
                    ReceiveDataDisplay(result);
                }
            }
        }

        private void ReceiveDataDisplay(byte[] result)
        {
            string str = System.Text.Encoding.Default.GetString(result);
            if (tbServerReceiver.InvokeRequired)
            {
                MethodInvoker mi = delegate ()
                {
                    string str1 = tbServerReceiver.Text;
                    tbServerReceiver.Text = str1 +Environment.NewLine + str;
                };
                tbServerReceiver.Invoke(mi);
            }
            else
            {
                string str1 = tbServerReceiver.Text;
                tbServerReceiver.Text = str1 + "/n" + str;
            }
        }

        private void btServerSend_Click(object sender, EventArgs e)
        {
            if (tcpClient1.Connected)
            {
                string str = this.tbServerSender.Text;
                if (str.Length > 0)
                {
                    byte[] b = System.Text.Encoding.Default.GetBytes(str);
                    try
                    {
                        tcpClient1.Send(b);
                    }catch(Exception ex)
                    {
                        MessageBox.Show("發(fā)送失敗");
                        return;
                    }
                }
                
            }
        }

2、運行效果
C#網絡TCP服務器端的實現(xiàn)文章來源地址http://www.zghlxwxcb.cn/news/detail-505820.html

到了這里,關于C#網絡TCP服務器端的實現(xiàn)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • TCP的服務器和客戶端的通信

    TCP的服務器和客戶端的通信

    實現(xiàn)不同主機之間的進程間通信(服務器和客戶端的通信),并且一個服務器可以處理很多個客戶端的請求。 協(xié)議:通信雙方所遵守的通信規(guī)則。 網絡體系結構:指網絡的層次結構和每層所使用的協(xié)議的集合。 網絡采用分而治之的方法設計,將網絡的功能劃分為不同的模塊

    2023年04月23日
    瀏覽(21)
  • TCP服務器和客戶端的創(chuàng)建步驟

    一、創(chuàng)建套接字(socket函數(shù)): 通信域選擇IPV4網絡協(xié)議、套接字類型選擇流式; 二、填充服務器的網絡信息結構體: 1.定義網絡信息結構體變量; 2.求出結構體變量的內存空間大??; 3.結構體清零; 4.使用IPV4網絡協(xié)議; 5.預留給在終端輸入的網絡字節(jié)序的端口號; 6.預留給

    2024年01月17日
    瀏覽(22)
  • 網絡編程3——TCP Socket實現(xiàn)的客戶端服務器通信完整代碼(詳細注釋幫你快速理解)

    網絡編程3——TCP Socket實現(xiàn)的客戶端服務器通信完整代碼(詳細注釋幫你快速理解)

    本人是一個剛剛上路的IT新兵,菜鳥!分享一點自己的見解,如果有錯誤的地方歡迎各位大佬蒞臨指導,如果這篇文章可以幫助到你,勞請大家點贊轉發(fā)支持一下! 今天分享的內容是TCP流套接字實現(xiàn)的客戶端與服務器的通信,一定要理解 DatagramSocket,DatagramPacket 這兩個類的作用以及方法

    2024年02月12日
    瀏覽(77)
  • Java【網絡編程2】使用 TCP 的 Socket API 實現(xiàn)客戶端服務器通信(保姆級教學, 附代碼)

    Java【網絡編程2】使用 TCP 的 Socket API 實現(xiàn)客戶端服務器通信(保姆級教學, 附代碼)

    ??各位讀者好, 我是小陳, 這是我的個人主頁 ??小陳還在持續(xù)努力學習編程, 努力通過博客輸出所學知識 ??如果本篇對你有幫助, 煩請點贊關注支持一波, 感激不盡 ?? 希望我的專欄能夠幫助到你: JavaSE基礎: 基礎語法, 類和對象, 封裝繼承多態(tài), 接口, 綜合小練習圖書管理系統(tǒng)

    2024年02月05日
    瀏覽(33)
  • 【JavaEE初階】 TCP服務器與客戶端的搭建

    【JavaEE初階】 TCP服務器與客戶端的搭建

    TCP服務器與客戶端的搭建需要借助以下API TCP之間通信通過流進行傳輸,無論是服務器還是客戶端:讀取內容用輸入流,寫入內容用輸出流 ServerSocket 是創(chuàng)建TCP服務端Socket的API。 ServerSocket 構造方法 : 方法簽名 方法說明 ServerSocket(int port) 創(chuàng)建一個服務端流套接字Socket,并綁定

    2024年02月05日
    瀏覽(22)
  • Qt實踐:TCP服務器和客戶端的設計

    Qt實踐:TCP服務器和客戶端的設計

    Qt:5.12.2 Qt Creator:4.11.1 通信方式:TCPIP 語言:C++ 客戶端的界面UI包含服務器IP、服務器端口、以及一些簡單的功能,數(shù)據(jù)可選ASCLL及HEX格式。當未與服務器建立連接時,該客戶端的部分控件設置為禁用。 \\\'getIp()\\\'函數(shù)可以根據(jù)不同的操作系統(tǒng)獲取本地 IP 地址。在 Windows 系統(tǒng)下

    2024年02月03日
    瀏覽(24)
  • [ C# ] C#中TCP服務端的實現(xiàn)

    [ C# ] C#中TCP服務端的實現(xiàn)

    ? ? ? ?本文所用例子為個人學習的小結,如有不足之處請各位多多海涵,歡迎小伙伴一起學習進步,如果想法可在評論區(qū)指出,我會盡快回復您,不勝感激! ????????所公布代碼或截圖均為運行成功后展示。 ????????嘿嘿,小小免責聲明一下!部分代碼可能與其他網

    2024年01月18日
    瀏覽(13)
  • 【TCP/IP】多進程服務器的實現(xiàn)(進階) - 多進程服務器模型及代碼實現(xiàn)

    【TCP/IP】多進程服務器的實現(xiàn)(進階) - 多進程服務器模型及代碼實現(xiàn)

    ???????? 經過前面的鋪墊,我們已經具備實現(xiàn)并發(fā)服務器的基礎了,接下來讓我們嘗試將之前的單任務回聲服務器改裝成多任務并發(fā)模式吧! ????????在編寫代碼前,先讓我們大致將多任務(回聲)服務器的模型抽象一下,如下圖所示: ? ? ? ? 當客戶端請求服務(

    2024年02月08日
    瀏覽(16)
  • 網絡字節(jié)序——TCP接口及其實現(xiàn)簡單TCP服務器

    網絡字節(jié)序——TCP接口及其實現(xiàn)簡單TCP服務器

    簡單TCP服務器的實現(xiàn) TCP區(qū)別于UDP在于要設置套接字為監(jiān)控狀態(tài),即TCP是面向鏈接,因此TCP套接字需要設置為監(jiān)聽狀態(tài) socket函數(shù)原型 domain 表示協(xié)議族,常用的有 AF_INET (IPv4)和 AF_INET6 (IPv6)。 type 表示Socket類型,常用的有 SOCK_STREAM (TCP)和 SOCK_DGRAM (UDP)。 protocol 通???/p>

    2024年02月10日
    瀏覽(28)
  • 【網絡編程】demo版TCP網絡服務器實現(xiàn)

    【網絡編程】demo版TCP網絡服務器實現(xiàn)

    UDP和TCP的區(qū)別: 對于TCP協(xié)議有幾個特點: 1?? 傳輸層協(xié)議 2?? 有連接(正式通信前要先建立連接) 3?? 可靠傳輸(在內部幫我們做可靠傳輸工作) 4?? 面向字節(jié)流 對于UDP協(xié)議有幾個特點: 1?? 傳輸層協(xié)議 2?? 無連接 3?? 不可靠傳輸 4?? 面向數(shù)據(jù)報 可以看到

    2024年02月06日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包