Я хотел бы иметь клиент-серверное приложение, написанное на .NET, которое будет делать следующее:
- сервер работает под управлением линукс
- на сервере есть база данных SQL (mySQL), содержащая URL-адреса документов
Что мы хотим: - серверная сторона будет регулярно сканировать все URL-адреса и создавать для них полнотекстовый индекс - клиентская сторона сможет выполнять запросы к этому индексу с помощью графического интерфейса.
Клиентское приложение написано на .NET с использованием C#. Помимо поиска в документах, он сможет делать много других вещей, которые здесь не описаны и которые очень хорошо выполняются на стороне клиента.
Мы хотели бы использовать C# и для серверной части, но у нас нет опыта в этой области. Как такие вещи обычно делаются?
Уточняющий вопрос теперь основан на некоторых ответах:
Больше всего мне неясно, как обычно осуществляется связь клиент-сервер. Клиент и сервер обычно используют сокеты, заботясь о таких деталях, как IP-адреса, порты или обход NAT? Или есть какие-то общие фреймворки и шаблоны, которые сделали бы это прозрачным и упростили обмен сообщениями между клиентом и сервером или вызов процедур? Любые примеры или хорошие отправные точки для этого? Существуют ли какие-то общие методы, как справиться с тем фактом, что один сервер требуется для одновременного обслуживания нескольких клиентов?