欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#心跳機制客戶端的實現(xiàn)示例

 更新時間:2024年06月23日 08:26:52   作者:栗克  
本文主要介紹了C#心跳機制客戶端,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

窗體(richTextBox右顯示聊天)

步驟

點擊鏈接按鈕
         tcpclient客戶端步驟
         1創(chuàng)建客戶端對象
         2連接服務(wù)器connect
         3創(chuàng)建網(wǎng)絡(luò)基礎(chǔ)流發(fā)消息 .write發(fā)消息
         4 創(chuàng)建網(wǎng)絡(luò)基礎(chǔ)流接消息 .read接消息
         5 斷開連接close()

窗體代碼

namespace _02_心跳機制客戶端
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        TcpClient client;
        private void button1_Click(object sender, EventArgs e)
        {
            if (button1.Text == "連接")
            {
                try
                {
                    client = new TcpClient();
                    client.Connect(comboBox1.Text, int.Parse(comboBox2.Text));
                    button1.Text = "斷開";
                    StartRead();
                    HeartBeat();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("連接失敗");
                }
            }
            else
            {
                client.Close();
                timer.Stop();
                button1.Text = "連接";
            }
        }
        void StartRead()
        {
            byte[] bs = new byte[1024];
            Task.Run(() =>
            {
                try
                {
                    while (true)
                    {
                        int count = client.GetStream().Read(bs,0,bs.Length);
                        string msg = Encoding.UTF8.GetString(bs, 0, count);
                        richTextBox1.Invoke((Action)(() =>
                        {
                            richTextBox1.AppendText(msg + "\t\n");
                        }));
                    }
                }
                catch (Exception ex)
                {

                    button1.Text = "連接";
                }
            });
        }
        Timer timer;
        void HeartBeat()
        {
            timer = new Timer();
            timer.Interval = 10000;
            timer.Tick += Timer_Tick;
            timer.Start();
        }
        private void Timer_Tick(object sender, EventArgs e)
        {
            client.GetStream().Write(new byte[] { 1 }, 0, 1);
        }
        private void button2_Click(object sender, EventArgs e)
        {
            byte[] bs = Encoding.UTF8.GetBytes(textBox1.Text);
            byte[] bs1 = new byte[bs.Length + 1];
            bs1[0] = 0;
            bs.CopyTo(bs1,1);
            client.GetStream().Write(bs1, 0, bs1.Length) ;
        }
    }
}

到此這篇關(guān)于C#心跳機制客戶端的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)C#心跳機制客戶端內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • C#基于Socket的TCP通信實現(xiàn)聊天室案例

    C#基于Socket的TCP通信實現(xiàn)聊天室案例

    這篇文章主要為大家詳細介紹了C#基于Socket的TCP通信實現(xiàn)聊天室案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#中的in參數(shù)與性能分析詳解

    C#中的in參數(shù)與性能分析詳解

    這篇文章主要給大家介紹了關(guān)于C#中in參數(shù)與性能分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • C# String Replace高效的實例方法

    C# String Replace高效的實例方法

    C# String Replace高效的實例方法,需要的朋友可以參考一下
    2013-05-05
  • C#深拷貝方法探究及性能比較(多種深拷貝)

    C#深拷貝方法探究及性能比較(多種深拷貝)

    這篇文章主要介紹了C#中使用NetCDF存儲二維數(shù)據(jù)的讀寫操作簡單應(yīng)用,探究了以下幾種C#對象深拷貝方式,同時簡單對比了以下列出的幾種深拷貝方式的速度,需要的朋友可以參考下
    2022-04-04
  • C#自定義控件實現(xiàn)TextBox禁止粘貼的方法

    C#自定義控件實現(xiàn)TextBox禁止粘貼的方法

    這篇文章主要介紹了C#自定義控件實現(xiàn)TextBox禁止粘貼的方法,結(jié)合具體實例形式分析了C#自定義控件的創(chuàng)建、使用方法及TextBox禁止粘貼的實現(xiàn)技巧,需要的朋友可以參考下
    2017-06-06
  • C#調(diào)用C動態(tài)鏈接庫的實現(xiàn)

    C#調(diào)用C動態(tài)鏈接庫的實現(xiàn)

    動態(tài)鏈接庫是不能直接執(zhí)行的,也不能接收消息,它只是一個獨立的文件,本文主要介紹了C#調(diào)用C動態(tài)鏈接庫的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • C#之HttpClient設(shè)置cookies的兩種方式

    C#之HttpClient設(shè)置cookies的兩種方式

    這篇文章主要介紹了C#之HttpClient設(shè)置cookies的兩種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Unity UGUI的RectMask2D遮罩組件的介紹使用

    Unity UGUI的RectMask2D遮罩組件的介紹使用

    這篇文章主要為大家介紹了Unity UGUI的RectMask2D遮罩組件的介紹使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • C#中的delegate委托類型基本學(xué)習(xí)教程

    C#中的delegate委托類型基本學(xué)習(xí)教程

    這篇文章主要介紹了C#中的delegate委托類型基本學(xué)習(xí)教程,委托是C#語言所具有的一個重要特性,需要的朋友可以參考下
    2016-01-01
  • C#中異步是4種實現(xiàn)方式詳解

    C#中異步是4種實現(xiàn)方式詳解

    這篇文章主要為大家詳細介紹了C#中異步實現(xiàn)方式的相關(guān)知識,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03

最新評論