【.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();//开启线程
相关推荐
扑克中的黑桃A11 分钟前
基于代价模型的连接条件下推:复杂SQL查询的性能优化实践
数据库
数据知道12 分钟前
MongoDB分片集群监控:详解Balancer状态与Chunk分布分析
数据库·mongodb
⑩-22 分钟前
Redis内存淘汰策略?如何处理大Key?
java·数据库·redis
原来是猿24 分钟前
Linux - 基础IO【下】
linux·运维·服务器
Y001112361 小时前
Day3-MySQL-SQL-2
数据库·sql·mysql
V1ncent Chen1 小时前
从零学SQL 07 数据过滤
数据库·sql·mysql·数据分析
A10169330711 小时前
maven导入spring框架
数据库·spring·maven
代码探秘者1 小时前
【Java集合】ArrayList :底层原理、数组互转与扩容计算
java·开发语言·jvm·数据库·后端·python·算法
兮动人1 小时前
Linux 云服务器部署 OpenClaw 全攻略:从环境搭建到 QQ 机器人集成
linux·服务器·机器人·openclaw
linux修理工1 小时前
使用 nextcloud.occ 重置用户密码
linux·运维·服务器