нажмите кнопку » Отправить сокет c#»

#c# #sockets

Вопрос:

итак, у меня есть этот код, который подключается к другой программе и записывает 2 метки при запуске, я хочу, чтобы он мог отправлять сообщения на bunifuButton21_Click здесь есть Form1.cs

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace WindowsFormsApp7
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
            


        }

        private void bunifuPanel1_Click(object sender, EventArgs e)
        {
            
        }
        public void StartClient()
        {
            byte[] bytes = new byte[1024];
            // Establish the remote endpoint for the socket.  
            // This example uses port 11000 on the local computer.  
            // This example uses port 11000 on the local computer.  
            IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
            IPAddress ipAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
            IPEndPoint remoteEP = new IPEndPoint(Dns.GetHostEntry(Dns.GetHostName()).AddressList[0], 11000);


            // Create a TCP/IP  socket.  
            Socket sender = new Socket(Dns.GetHostEntry(Dns.GetHostName()).AddressList[0].AddressFamily,
                SocketType.Stream, ProtocolType.Tcp);



            // Connect the socket to the remote endpoint. Catch any errors.  
            try




            {
                sender.Connect(remoteEP);

                bunifuLabel1.Text = "Socket connected to " 
                    sender.RemoteEndPoint.ToString();

                string text = "Test1";
                byte[] msg = Encoding.ASCII.GetBytes(text);

                // Send the data through the socket.    
                int bytesSent = sender.Send(msg);

                // Receive the response from the remote device.    
                int bytesRec = sender.Receive(bytes);
                bunifuLabel2.Text = Encoding.ASCII.GetString(bytes, 0, bytesRec);



                // Encode the data string into a byte array.  


                // Release the socket.  

            }
            catch (ArgumentNullException ane)
            {
                Console.WriteLine("ArgumentNullException : {0}", ane.ToString());
            }
            catch (SocketException se)
            {
                Console.WriteLine("SocketException : {0}", se.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("Unexpected exception : {0}", e.ToString());
            }


        }

        private void bunifuLabel1_Click(object sender, EventArgs e)
        {
            
        }

        private void bunifuTileButton1_Click(object sender, EventArgs e)
        {
            StartClient();
        }

        public void bunifuButton21_Click(object sender, EventArgs e)
        {

            
        }

    }
}
 

есть ли способ поставить

 string text = "Test1";
byte[] msg = Encoding.ASCII.GetBytes(text);

// Send the data through the socket.    
int bytesSent = sender.Send(msg);

// Receive the response from the remote device.    
int bytesRec = sender.Receive(bytes);
bunifuLabel2.Text = Encoding.ASCII.GetString(bytes, 0, bytesRec);
 

в bunifuButton21_Click, чтобы он отправлял его не только при запуске, но и каждый раз, когда я нажимаю на него (вероятно, это что-то простое, я новичок в c#)