【.net core】线程的创建和方法调用

模拟线程创建socket服务端

cs 复制代码
//socket帮助类
public class SocketHelper
{
    private Socket listenerSocket;
    private IPEndPoint endPoint;

    public SocketHelper()
    {
        
        endPoint = new IPEndPoint(IPAddress.Loopback, 50020); // 端口12345
        listenerSocket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
    }

    public void StartServer()
    {
        listenerSocket.Bind(endPoint);
        listenerSocket.Listen(10); // 最多10个连接请求排队

        Console.WriteLine("Server is running. Waiting for a connection...");

        while (true)
        {
            Socket handler = listenerSocket.Accept();
            Console.WriteLine("Connected!");

            byte[] buffer = new byte[1024];
            int bytesReceived = handler.Receive(buffer);
            string message = Encoding.ASCII.GetString(buffer, 0, bytesReceived);
            Console.WriteLine("Received: {0}", message);

            string welcome = "Hello, and welcome to the server.";
            byte[] msg = Encoding.ASCII.GetBytes(welcome);

            handler.Send(msg);
            handler.Shutdown(SocketShutdown.Both);
            handler.Close();
        }
    }
}

创建线程及调用方法

cs 复制代码
SocketHelper socket = new SocketHelper();//创建socket帮助类实体
Thread thread = new Thread(new ThreadStart(socket.StartServer));//创建线程并制定线程执行方法
thread.Start();//开启线程
相关推荐
l1t5 分钟前
duckdb 1.6dev新增的.manual命令
开发语言·数据库
电商API_1800790524719 分钟前
电商ERP 自动同步订单功能实现拆解与技术手段
服务器·前端·网络·爬虫
辉灰笔记21 分钟前
第一篇:MySQL8.0生产备份实战|XtraBackup全自动全量+增量备份(钉钉告警+异地Binlog归档)
数据库·mysql·钉钉·运维开发
Web极客码28 分钟前
如何在WordPress中通知用户他们的评论已获批准?
服务器·wordpress·评论
山峰哥35 分钟前
‌Explain实战:打开数据库执行计划的黑盒‌
大数据·服务器·数据库·sql·深度优先·宽度优先
灵机一物41 分钟前
2026算力推荐进入专业化阶段:超互联品牌如何构建企业AI选型能力矩阵
服务器·人工智能·决策树·云平台
裤兜里有钱1 小时前
关于Xshell连接虚拟机Linux失败的主要原因
linux·运维·服务器
辞旧 lekkk1 小时前
CMake工程指南(一)
linux·运维·服务器·开发语言·qt·学习·萌新
凤年徐1 小时前
哪些远程办公软件支持多屏协作?2026年7月远程办公工具横评:UU远程成首选,多屏协作、大文件传输等实用功能拉满
服务器
ClickHouseDB1 小时前
ClickHouse 26.6 版本发布说明
数据库