using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
class TcpServer
{
private static void Listen()
{
// 创建一个监听对象,指定IP地址和端口号
TcpListener listener = new TcpListener(IPAddress.Any, 13000);
listener.Start();
Console.WriteLine("Server started. Waiting for connections...");
while (true)
{
// 接受客户端连接
TcpClient client = listener.AcceptTcpClient();
Console.WriteLine("Client connected.");
// 启动新线程处理客户端请求
Thread clientThread = new Thread(() => HandleClient(client));
clientThread.Start();
}
}
private static void HandleClient(TcpClient client)
{
NetworkStream stream = client.GetStream();
try
{
while (true)
{
// 读取客户端发送的数据
byte[] buffer = new byte[1024];
int bytesRead = stream.Read(buffer, 0, buffer.Length);
string message = Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine("Received: " + message);
// 发送响应数据给客户端
string response = "Message received";
byte[] responseBytes = Encoding.ASCII.GetBytes(response);
stream.Write(responseBytes, 0, responseBytes.Length);
}
}
catch
{
Console.WriteLine("Client disconnected.");
}
finally
{
client.Close();
}
}
static void Main(string[] args)
{
Listen();
}
}
创建监听器:
TcpListener
类创建一个监听器,绑定到任意 IP 地址 (IPAddress.Any
) 和指定的端口(例如 13000)。Start()
方法启动监听器。接受客户端连接:
AcceptTcpClient()
方法等待并接受客户端连接。处理客户端请求:
NetworkStream
对象与客户端进行通信。主程序:
Main
方法调用 Listen()
方法启动服务器。这个示例展示了如何使用 C# 创建一个简单的 TCP 服务器,它能够接收来自客户端的消息并发送响应。
上一篇:c# contains
下一篇:cursor c#
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站