基于C#实现的tcp服务端
时间: 2024-09-11 20:03:00 浏览: 46
在C#中,你可以通过Socket编程来创建TCP服务器。以下是一个简单的示例,展示如何创建一个基本的TCP服务端:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
class TcpServerExample
{
private static TcpListener server;
public static void Main()
{
try
{
// 设置服务器地址和端口
IPAddress ipAddress = IPAddress.Any; // 使用0.0.0.0表示监听所有IP
int port = 8080; // 预设的服务端口号
// 创建TcpListener实例,并开始监听
server = new TcpListener(ipAddress, port);
server.Start();
Console.WriteLine("TCP Server is listening on {0}:{1}", ipAddress.ToString(), port);
// 接受客户端连接并处理请求
while (true)
{
Socket client = server.AcceptSocket();
Console.WriteLine("Accepted connection from " + client.RemoteEndPoint);
using (client)
{
HandleClient(client); // 自定义处理客户端的方法
}
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
private static void HandleClient(Socket client)
{
byte[] buffer = new byte[1024];
int bytesRead = 0;
// 读取客户端数据
bytesRead = client.Receive(buffer);
string message = System.Text.Encoding.ASCII.GetString(buffer, 0, bytesRead);
// 对接收到的消息进行处理...
Console.WriteLine("Received: " + message);
// 发送响应给客户端
string response = "Message received!";
client.Send(Encoding.ASCII.GetBytes(response));
// 关闭连接后释放资源
client.Shutdown(SocketShutdown.Both);
client.Close();
}
}
```
这个例子中,`TcpListener`用于监听端口,`AcceptSocket()`方法接收客户端连接,然后我们有一个`HandleClient`方法来处理每个新连接。注意,实际应用中可能需要添加错误处理和更复杂的通信协议。
阅读全文