wpf tcp server 源代码 csdn
时间: 2024-01-22 22:00:48 浏览: 172
WPF TCP服务器是基于Windows Presentation Foundation(WPF)框架开发的一个TCP服务器应用程序。它可以在客户端和服务器之间建立TCP连接,实现数据的传输和通信。
CSDN是一个知名的中文IT技术社区,提供各种IT技术相关的学习资源和社交平台。在CSDN上,你可以找到很多关于WPF TCP服务器的源代码示例和教程。
下面是一个简单的WPF TCP服务器的示例代码:
```
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Windows;
namespace TcpServerWpfApp
{
public partial class MainWindow : Window
{
private TcpListener server;
private TcpClient client;
public MainWindow()
{
InitializeComponent();
}
private void StartServerButton_Click(object sender, RoutedEventArgs e)
{
try
{
server = new TcpListener(IPAddress.Parse("127.0.0.1"), 8000);
server.Start();
StartServerButton.IsEnabled = false;
StopServerButton.IsEnabled = true;
ListenForClients();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private async void ListenForClients()
{
try
{
while (true)
{
client = await server.AcceptTcpClientAsync();
HandleClientCommunication(client);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private async void HandleClientCommunication(TcpClient tcpClient)
{
try
{
NetworkStream stream = tcpClient.GetStream();
byte[] buffer = new byte[1024];
int bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length);
string dataReceived = Encoding.ASCII.GetString(buffer, 0, bytesRead);
byte[] responseBuffer = Encoding.ASCII.GetBytes("Server received: " + dataReceived);
await stream.WriteAsync(responseBuffer, 0, responseBuffer.Length);
stream.Close();
tcpClient.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void StopServerButton_Click(object sender, RoutedEventArgs e)
{
try
{
server.Stop();
StartServerButton.IsEnabled = true;
StopServerButton.IsEnabled = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
```
这是一个简单的WPF窗口应用程序,包含了"StartServerButton"和"StopServerButton"两个按钮。当点击"StartServerButton"按钮时,服务器将开始监听特定IP地址和端口(这里是本地回环地址127.0.0.1和端口号8000),并将按钮状态设置为不可用。之后,服务器将等待与客户端的连接,并将接收到的客户端数据发送回客户端。点击"StopServerButton"按钮将停止服务器的监听,并将按钮状态还原为可用状态。
希望这个简单的示例代码能够帮助您理解WPF TCP服务器的基本原理和使用方法。如果你需要更详细的示例代码和教程,建议您在CSDN上搜索相关资源。
阅读全文