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
下一篇:c# do while
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站