Несколько раз происходит сбой
Я не могу предоставить сбои или что-то в этом роде, потому что я не могу уловить сбой.
Я хотел бы исправить эту проблему, чтобы предотвратить сбой. Этот код используется для взаимодействия между сервером и клиент в данном случае с формами Android Xamarin
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleServer
{
class Server
{
static async Task Main(string[] args)
{
string logFilePath = "log.txt";
using (StreamWriter writer = new StreamWriter(logFilePath))
{
// Redirect standard output to file
Console.SetOut(writer);
IPAddress address = IPAddress.Parse("localhost");
IPEndPoint ipPoint = new IPEndPoint(address, 8000);
using Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(ipPoint);
socket.Listen();
Console.WriteLine("The server is running. Waiting for connections...");
writer.Flush();
while (true)
{
using Socket client = await socket.AcceptAsync();
Console.WriteLine($"Connected client address: {client.RemoteEndPoint}");
writer.Flush();
using var stream = new NetworkStream(client);
var responseData = new byte[512];
int bytesRead;
while ((bytesRead = await stream.ReadAsync(responseData, 0, responseData.Length)) > 0)
{
string request = Encoding.UTF8.GetString(responseData, 0, bytesRead);
Console.WriteLine("Received request from client: " + request);
writer.Flush(); // Flush the buffer to a file
// Here you can process the request and repare the response
// Sample response:
string response = "Hello from the server!";
byte[] responseBytes = Encoding.UTF8.GetBytes(response);
await stream.WriteAsync(responseBytes, 0, responseBytes.Length);
}
}
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... pp-c-sharp