TCP client and server

This commit is contained in:
2023-10-12 13:31:10 +06:00
parent aed71aefe0
commit 86161b5c95
9 changed files with 236 additions and 42 deletions

View File

@@ -0,0 +1,18 @@
using System.Net;
namespace DTLib.Network.FSP2;
public class Client : IDisposable
{
private TCPSocketClient _tcp;
public Client(IPEndPoint serverEndpoint)
{
_tcp = new TCPSocketClient(serverEndpoint);
}
public void Dispose()
{
_tcp.Dispose();
}
}

View File

@@ -0,0 +1,13 @@
namespace DTLib.Network.FSP2;
public enum RequestType
{
Message,
DownloadFile,
UploadFile
}
public record Request(RequestType Type)
{
}

View File

@@ -0,0 +1,13 @@
namespace DTLib.Network.FSP2;
public enum ResponseStatus
{
OK,
InvalidRequest,
AccessDenied
}
public record Response(ResponseStatus Status)
{
}

View File

@@ -0,0 +1,26 @@
using System.Net;
namespace DTLib.Network.FSP2;
public class Server : IDisposable
{
private TCPSocketServer _tcp;
private readonly Func<Request, Response> _requestHandler;
public Server(IPEndPoint localEndpoint, Func<Request, Response> requestHandler, Action<Exception> exceptionHandler)
{
_requestHandler = requestHandler;
_tcp = new TCPSocketServer(localEndpoint, HandleFSP2Connection, exceptionHandler);
}
void HandleFSP2Connection(TCPSocketServer.ConnectionParams p)
{
}
public void Dispose()
{
_tcp.Dispose();
}
}