C#以太网winform发送数据
时间: 2023-07-30 09:04:09 浏览: 122
C# Socket通信(winform) 异步发送消息,服务端客户端通信,可以发送消息和文件并进行接收
5星 · 资源好评率100%
在C#的WinForms应用程序中发送以太网数据,你可以借助Socket类和Windows Forms中的事件处理机制。以下是一个示例代码,展示了如何在WinForms应用程序中发送以太网数据:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
namespace EthernetSender
{
public partial class MainForm : Form
{
private Socket socket;
private string serverIP = "192.168.0.1";
private int serverPort = 8080;
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
// 创建一个TCP/IP socket
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
}
private void btnConnect_Click(object sender, EventArgs e)
{
try
{
// 连接到服务器
socket.Connect(serverIP, serverPort);
MessageBox.Show("以太网连接已建立.");
}
catch (Exception ex)
{
MessageBox.Show("以太网连接失败: " + ex.ToString());
}
}
private void btnSend_Click(object sender, EventArgs e)
{
try
{
// 要发送的数据
string data = tbData.Text;
// 将字符串转换为字节数组
byte[] byteData = Encoding.ASCII.GetBytes(data);
// 发送数据
socket.Send(byteData);
MessageBox.Show("数据已发送: " + data);
}
catch (Exception ex)
{
MessageBox.Show("发送数据失败: " + ex.ToString());
}
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
// 关闭socket连接
if (socket.Connected)
{
socket.Shutdown(SocketShutdown.Both);
socket.Close();
}
}
}
}
```
在上述示例中,我们创建了一个名为MainForm的Windows Forms窗体应用程序。窗体上有两个按钮:btnConnect用于建立以太网连接,btnSend用于发送数据。窗体加载时创建了一个TCP/IP socket。在btnConnect_Click事件处理程序中,我们使用Connect方法连接到指定的服务器IP地址和端口号。在btnSend_Click事件处理程序中,我们获取用户输入的数据,将其转换为字节数组,并使用Send方法发送数据。窗体关闭时,我们在MainForm_FormClosing事件处理程序中关闭socket连接。
请注意,上述示例仅展示了如何在WinForms应用程序中发送以太网数据的基本操作,你可能需要根据具体需求进行错误处理、数据验证等操作。
阅读全文