Files
FASS/2.0.0/src/backend/FASS.Extend.Call/Command.cs
T
2026-07-14 21:33:39 +08:00

60 lines
1.8 KiB
C#

using Common.Net.Tcp;
using System.Net;
namespace FASS.Extend.Call
{
public class Command
{
public TcpClient Client { get; private set; }
public Command(string ip, string port)
{
Client = new TcpClient()
{
RemoteEndPoint = new IPEndPoint(IPAddress.Parse(ip), int.Parse(port)),
SendTimeout = 500,
ReceiveTimeout = 500
};
}
public bool GetButton(string buttonNo)
{
var result = false;
try
{
Client.Connect();
var sendMessage = new SendMessage().SetMessage(byte.Parse(buttonNo));
var sendByteArray = sendMessage.GetByteArray();
var receiveByteArray = Client.SendAndReceive(sendByteArray);
if (receiveByteArray is not null)
{
var receiveMessage = new ReceiveMessage().GetMessage(receiveByteArray);
if (receiveMessage is not null && receiveMessage.ButtonStatus > 0)
{
result = true;
}
if (receiveByteArray is not null)
{
if (receiveByteArray.Length == 7 && receiveByteArray[3] > 0)
{
result = true;
}
if (receiveByteArray.Length == 11 && receiveByteArray[2] > 0)
{
result = true;
}
}
}
}
catch
{
result = false;
}
finally
{
Client.Disconnect();
}
return result;
}
}
}