SOMS/test/ConsoleTest/Program.cs

37 lines
970 B
C#
Raw Normal View History

2024-12-25 15:06:46 +08:00
using System;
2025-03-10 18:15:27 +08:00
using System.Net.Sockets;
2024-12-25 15:06:46 +08:00
using System.Text;
2025-03-10 18:15:27 +08:00
using System.Threading.Tasks;
2024-12-25 15:06:46 +08:00
2025-03-10 18:15:27 +08:00
class Program
2024-11-29 09:03:54 +08:00
{
2025-03-10 18:15:27 +08:00
static async Task Main()
2024-11-29 09:03:54 +08:00
{
2025-03-10 18:15:27 +08:00
using TcpClient client = new TcpClient();
await client.ConnectAsync("127.0.0.1", 43916);
var stream = client.GetStream();
2024-12-25 15:06:46 +08:00
2025-03-10 18:15:27 +08:00
_ = Task.Run(() => ReceiveMessages(stream));
2024-12-25 15:06:46 +08:00
2025-03-10 18:15:27 +08:00
while (true)
2024-11-29 09:03:54 +08:00
{
2025-03-10 18:15:27 +08:00
string input = Console.ReadLine();
if (input.ToLower() == "exit") break;
2024-12-25 15:06:46 +08:00
2025-03-10 18:15:27 +08:00
byte[] data = Encoding.UTF8.GetBytes(input);
await stream.WriteAsync(data, 0, data.Length);
2024-12-25 15:06:46 +08:00
}
2025-03-10 18:15:27 +08:00
}
2024-12-25 15:06:46 +08:00
2025-03-10 18:15:27 +08:00
static async Task ReceiveMessages(NetworkStream stream)
{
byte[] buffer = new byte[1024];
while (true)
2024-12-25 15:06:46 +08:00
{
2025-03-10 18:15:27 +08:00
int bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length);
if (bytesRead == 0) break;
Console.WriteLine($"接收: {Encoding.UTF8.GetString(buffer, 0, bytesRead)}");
2024-11-29 09:03:54 +08:00
}
}
}