C#使用wpf写一个udpclient一个项目写服务端另一个项目写客户端 收发信息
时间: 2024-05-01 22:16:07 浏览: 166
C# 做的Udp实例,有服务器端和客户端
3星 · 编辑精心推荐
好的,下面是一个简单的示例代码,演示如何使用C#的WPF框架来创建UDP客户端和服务器。
首先,我们创建一个WPF应用程序,并在MainWindow.xaml中添加两个按钮,分别用于启动服务器和客户端。
MainWindow.xaml:
```xml
<Window x:Class="UdpClientServer.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="UDP Client/Server" Height="350" Width="525">
<Grid>
<Button x:Name="btnStartServer" Content="Start Server" HorizontalAlignment="Left" Margin="50,50,0,0" VerticalAlignment="Top" Width="100" Click="btnStartServer_Click"/>
<Button x:Name="btnStartClient" Content="Start Client" HorizontalAlignment="Left" Margin="200,50,0,0" VerticalAlignment="Top" Width="100" Click="btnStartClient_Click"/>
</Grid>
</Window>
```
接下来,我们需要在MainWindow.xaml.cs文件中添加代码来处理按钮的点击事件,以启动服务器和客户端。
MainWindow.xaml.cs:
```csharp
using System;
using System.Windows;
using System.Net;
using System.Net.Sockets;
namespace UdpClientServer
{
public partial class MainWindow : Window
{
UdpClient udpClient;
UdpClient udpServer;
public MainWindow()
{
InitializeComponent();
}
private void btnStartServer_Click(object sender, RoutedEventArgs e)
{
udpServer = new UdpClient(11000);
IPEndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0);
while (true)
{
byte[] data = udpServer.Receive(ref remoteEP);
string message = System.Text.Encoding.ASCII.GetString(data);
MessageBox.Show("Received message: " + message);
}
}
private void btnStartClient_Click(object sender, RoutedEventArgs e)
{
udpClient = new UdpClient();
IPEndPoint serverEP = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 11000);
string message = "Hello from client";
byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
udpClient.Send(data, data.Length, serverEP);
}
}
}
```
在上面的代码中,我们在MainWindow类中创建了两个成员变量udpServer和udpClient,它们分别表示UDP服务器和客户端。在btnStartServer_Click事件处理程序中,我们创建一个UdpClient对象并绑定到本地11000端口。然后,我们在一个无限循环中接收来自客户端的数据,并将其解码为字符串,最后在消息框中显示接收到的消息。
在btnStartClient_Click事件处理程序中,我们创建一个UdpClient对象并向地址127.0.0.1的11000端口发送一条消息。在这种情况下,我们只是向本机上运行的服务器发送了一条简单的“Hello from client”消息。
现在,我们已经创建了一个简单的UDP客户端和服务器示例,你可以在WPF应用程序中使用类似的代码来实现自己的应用程序。
阅读全文