0

私はこのコードを持っています:

public async virtual void Start(IPAddress ip, int port)
    {
        //Start listening proccess
        Listener = new TcpListener(ip, port);
        Listener.Start();
        IsListening = true;
        await Task.Run(async () =>
            {
                while (IsListening)
                {
                    if (Listener.Pending())
                    {
                        TcpClient client = await Listener.AcceptTcpClientAsync();
                        SkyfilterClient sklient = new SkyfilterClient(client);
                        byte command = sklient.Reader.ReadByte();
                        if (command == (byte) SkyfilterCommand.Authenticate)
                        {
                            sklient = await Authenticate(sklient);
                        }
                        else if(command == (byte)SkyfilterCommand.Register)
                        {
                            sklient = await Register(sklient);
                        }
                    }
                }
            });
    }

Program.cs のコード、メイン メソッド

new SkyfilterCoreLib.Network.SkyfilterServer().Start(IPAddress.Loopback, 7812);
Console.ReadLine();

非同期ラムダがあれば最高ですか? または、1 つのタスクのみを使用し、リスナーにListener.AcceptTcpClientのみ使用させますか? どれが最高のパフォーマンスを持っていますか? ありがとう

4

1 に答える 1