私はこのコードを持っています:
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
のみ使用させますか? どれが最高のパフォーマンスを持っていますか? ありがとう