fix unlimiting server reading
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.CommandLine;
|
||||
using System.CommandLine.Parsing;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -38,8 +37,6 @@ namespace f_cln
|
||||
messageOption
|
||||
};
|
||||
|
||||
rootCommand.Parse("--version").Invoke();
|
||||
|
||||
ParseResult parseResult = rootCommand.Parse(args);
|
||||
if (parseResult.Errors.Count == 0)
|
||||
{
|
||||
@@ -90,21 +87,24 @@ namespace f_cln
|
||||
Console.WriteLine("Подключено к серверу");
|
||||
|
||||
using var stream = client.GetStream();
|
||||
using var reader = new StreamReader(stream, Encoding.UTF8);
|
||||
using var writer = new StreamWriter(stream, Encoding.UTF8) { AutoFlush = true };
|
||||
|
||||
// Отправка сообщения
|
||||
var messageBytes = Encoding.UTF8.GetBytes(message + Environment.NewLine);
|
||||
await stream.WriteAsync(messageBytes, 0, messageBytes.Length);
|
||||
await writer.WriteLineAsync(message);
|
||||
Console.WriteLine($"Отправлено: {message}");
|
||||
|
||||
// Чтение ответа
|
||||
var buffer = new byte[1024];
|
||||
var bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length);
|
||||
var response = await reader.ReadLineAsync();
|
||||
|
||||
if (bytesRead > 0)
|
||||
if (response != null)
|
||||
{
|
||||
var response = Encoding.UTF8.GetString(buffer, 0, bytesRead).TrimEnd('\n', '\r');
|
||||
Console.WriteLine($"Получено: {response}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Сервер не ответил");
|
||||
}
|
||||
}
|
||||
catch (SocketException ex)
|
||||
{
|
||||
@@ -126,7 +126,8 @@ namespace f_cln
|
||||
Console.WriteLine("Введите текст для отправки (или 'exit' для выхода):");
|
||||
|
||||
using var stream = client.GetStream();
|
||||
var buffer = new byte[1024];
|
||||
using var reader = new StreamReader(stream, Encoding.UTF8);
|
||||
using var writer = new StreamWriter(stream, Encoding.UTF8) { AutoFlush = true };
|
||||
|
||||
while (true)
|
||||
{
|
||||
@@ -146,15 +147,13 @@ namespace f_cln
|
||||
try
|
||||
{
|
||||
// Отправка сообщения
|
||||
var messageBytes = Encoding.UTF8.GetBytes(input + Environment.NewLine);
|
||||
await stream.WriteAsync(messageBytes, 0, messageBytes.Length);
|
||||
await writer.WriteLineAsync(input);
|
||||
|
||||
// Чтение ответа
|
||||
var bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length);
|
||||
var response = await reader.ReadLineAsync();
|
||||
|
||||
if (bytesRead > 0)
|
||||
if (response != null)
|
||||
{
|
||||
var response = Encoding.UTF8.GetString(buffer, 0, bytesRead).TrimEnd('\n', '\r');
|
||||
Console.WriteLine($"Ответ: {response}");
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user