Files
Denso/srcs/RobotNet10/RobotApp/Communication/Sick.Tim781s.Colab/Interfaces/ITcpClient.cs
2026-07-03 16:31:37 +07:00

48 lines
1.2 KiB
C#

namespace Sick.Tim781s.Colab.Interfaces;
/// <summary>
/// Interface for TCP client communication
/// </summary>
public interface ITcpClient
{
/// <summary>
/// Gets the server IP address
/// </summary>
string ServerIp { get; }
/// <summary>
/// Gets the server port
/// </summary>
ushort ServerPort { get; }
/// <summary>
/// Gets whether the client is connected
/// </summary>
bool IsConnected { get; }
/// <summary>
/// Connects to the server
/// </summary>
/// <param name="timeoutMs">Connection timeout in milliseconds</param>
void Connect(int timeoutMs = 5000);
/// <summary>
/// Disconnects from the server
/// </summary>
void Disconnect();
/// <summary>
/// Sends data to the server
/// </summary>
/// <param name="data">Data to send</param>
void Send(ReadOnlyMemory<byte> data);
/// <summary>
/// Receives data from the server
/// </summary>
/// <param name="timeoutMs">Receive timeout in milliseconds</param>
/// <returns>Received data</returns>
byte[] Receive(int timeoutMs = 5000);
}