【.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();//开启线程
相关推荐
yfs102414 小时前
PostgreSQL 16 + pgvector 完整安装和内网访问指南(Ubuntu 20.04)
数据库·ubuntu·postgresql
irisart14 小时前
第二章【开源功能】—— HTTP 服务器(上)
服务器·nginx·开源
qq_4557608514 小时前
docker - 虚拟化和容器化
linux·运维·服务器
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ15 小时前
查询MySQL数据库表的结构和数据
数据库·mysql·oracle
武藤一雄15 小时前
C#中常见集合都有哪些?
开发语言·微软·c#·.net·.netcore
脸大是真的好~15 小时前
MYSQL与B+树与索引相关面试题
数据库·b树·mysql
云和数据.ChenGuang15 小时前
ELK 是一套**开源的日志收集、存储、分析与可视化的技术栈
服务器·数据库·elk·开源·运维技术·数据库运维工程师
艾莉丝努力练剑15 小时前
【Linux进程(二)】Linux进程的诞生、管理与消亡:一份基于内核视角的完整分析
大数据·linux·运维·服务器·c++·安全·centos
MoonBit月兔15 小时前
海外开发者实践分享:用 MoonBit 开发 SQLC 插件(其一)
数据库·缓存·wasm·moonbit
小高求学之路15 小时前
eo4j 图数据库备忘单
数据库·neo4j