#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#)