C# 服务器启动后台Tcp监听功能,没有winform界面
时间: 2024-09-22 22:06:20 浏览: 52
在C#中,如果你想要创建一个服务器程序,它会在后台运行并监听TCP连接,而不需要Windows Forms界面,你可以使用`System.Net.Sockets`命名空间下的`TcpListener`类。以下是一个简单的步骤说明:
1. 首先,创建一个名为`ServerApp`的控制台应用程序项目(而不是Windows Forms项目)。
```csharp
using System;
using System.Net;
using System.Net.Sockets;
class Program
{
static void Main(string[] args)
{
// 0.0.0.0 表示本机所有网络适配器,25000 是你选择的端口号
TcpListener listener = new TcpListener(IPAddress.Any, 25000);
try
{
// 2. 开始监听
listener.Start();
Console.WriteLine("服务器已启动,等待客户端连接...");
// 3. 当有客户端连接时,进入循环处理
while (true)
{
// 获取新的连接请求
Socket clientSocket = listener.AcceptSocket();
// 创建一个新的线程来处理客户端通信,保持主线程响应新连接
new Thread(new ParameterizedThreadStart(HandleClientConnection)).Start(clientSocket);
}
}
catch (Exception ex)
{
Console.WriteLine($"服务器启动失败: {ex.Message}");
}
// 4. 关闭监听器,停止服务
listener.Stop();
}
private static void HandleClientConnection(object clientSocket)
{
// 这里处理客户端的具体业务逻辑,如读取、写入数据等
using (Socket client = (Socket)clientSocket)
{
byte[] buffer = new byte[1024];
int bytesRead = client.Receive(buffer);
if (bytesRead > 0)
{
Console.WriteLine($"接收到客户端数据: {Encoding.ASCII.GetString(buffer, 0, bytesRead)}");
// 发送响应或其他操作...
}
// 客户端断开连接后释放资源
client.Close();
}
}
}
```
阅读全文