2015-04-09 3 views
2

Моя группа в университете работает над проектом, который включает в себя разработку C# программы. У нас есть видение создания серверной консольной программы, которая постоянно вычисляет данные, а затем создает клиентскую программу, которая может извлекать данные из нашей серверной программы. Затем клиентская программа сможет отображать данные, и пользователь может перемещаться вперед и назад по данным. Обе эти программы будут работать на одном компьютере исключительно для физических целей.Разговор двух программ друг с другом

Мне интересно, как я могу получить данные из программы на стороне сервера и иметь возможность отображать ее в клиентской программе.

+2

Что именно ваш вопрос здесь? –

+1

[Вы можете использовать WCF] (http://weblogs.asp.net/ralfw/a-truely-simple-example-to-get-started-with-wcf) –

+0

Мне интересно, как я могу получить данные с сервера и иметь возможность отображать его в клиентской программе. – darophi

ответ

0

Как упоминалось в комментариях, которые звучат так, как будто вы хотели бы создать такое «серверное» приложение, которое вы могли бы сделать с WCF. http://tech.pro/tutorial/855/wcf-tutorial-basic-interprocess-communication

Есть также некоторые обходные пути, если вы хотите сделать это, используя базу данных или использовать папку, содержащую текстовые файлы, которые будут включать в себя Бодрствующего папку, которую вы, чем читать, но они не так элегантно.

+0

Спасибо. Я читаю о WCF прямо сейчас, и я и мой коллега по группе думают, что это будет путь для реализации. – darophi

+0

Если вы хотите продолжать вычислять данные, вам понадобится 4 штуки с помощью этого метода. Для центра проекта вам понадобится служба WCF. базу данных для хранения результатов вычислений, серверное приложение, которое постоянно работает, вычисляет и отправляет результат в службу WCF, а клиентское приложение запрашивает WCF для возврата результатов расчета. – Franck

0

Вы можете получить данные в клиентскую программу, настроив ее с помощью веб-хостинга web.api. Вот отличная ссылка. Серверное приложение может быть настроено на использование того же самого. Они могут слушать и отвечать друг другу.

http://www.c-sharpcorner.com/UploadFile/b1df45/Asp-Net-web-api-self-hosting/

1

Если клиент и сервер всегда на той же машине, нет никакой необходимости использовать WCF или сокетов. Вы можете использовать named pipes для межпроцессного общения.

Если вы пытаетесь сделать более серьезное клиент-серверное приложение, я рекомендую вам попробовать Redis, который предоставляет множество удаленных функций, таких как pub/sub и кеширование, поэтому вы избежите изобретать колесо.

0

Почему бы вам не дать ASP.NET Web API шанс? Вы будете создавать REST API, с которым может разговаривать не только программа на C# (любой язык/реализация - даже другой сервер) может разговаривать с вашим сервером, пока конечная точка верна (в вашем случае это будет ваш IP-адрес и номер порта) &, конечно, вам не нужно, чтобы обе программы находились на одном и том же компьютере :)