Я хочу реализовать сервер, который имеет несколько методов, из которых можно принять массив двумерных точек (struct). Мне интересно, следует ли мне реализовать его как WebService или как простой TCP-сокет.Лучшая практика: отправка типизированных данных по TCP
Целевая система C++ работает на Debian Linux. Насколько я понимаю, WebService основан на XML/SOAP, и я могу использовать интерфейс, включая все его типы данных в любой другой клиентской системе. Напротив, простой TCP-сокет - это просто чтение байтовых массивов. Но есть ли простой способ добиться строго типизированной передачи данных с сокетами TCP, чтобы мне не нужен веб-сервер для работы с WebService?
Здесь C# пример того, что интерфейс сервера должен выглядеть следующим образом:
public interface IService
{
void CloseShutter();
bool WriteFrame(Point[] frame, bool repeat);
MaintenanceInfo GetMaintenanceInfo();
}
public struct Point
{
public float X { get; set; }
public float Y { get; set; }
public float Z { get; set; }
public int Color { get; set; }
public bool Draw { get; set; }
}
public struct MaintenanceInfo
{
public uint Lifetime { get; set; }
public bool UsedHours { get; set; }
}
Спасибо за любой посоветуйте.
Matthias
Спасибо, я думаю, это именно то, что мне нужно. Я поближе рассмотрю этот вопрос. – Matthias
Я дал эту попытку, но код был довольно сложным (хотя я в основном в коде C#). Общение с другими языками (клиентами), которые могут быть записаны в объектных c или C#, было сомнительным. Вот почему я не выбрал XML-RPC. – Matthias