Вопрос № 182644: Здравствуйте! Подскажите, какие существуют способы соединения двух компьютеров (для создания клиент-сервеных приложений)? Один из способов - использование Winsock. Есть ли ещё что-нибудь?...
Вопрос № 182644:
Здравствуйте! Подскажите, какие существуют способы соединения двух компьютеров (для создания клиент-сервеных приложений)? Один из способов - использование Winsock. Есть ли ещё что-нибудь?
Основные способы (на основании ответов из мини-форума): 1. Mailslot (почтовый канал) - это файл, который находится в памяти, и Вы можете используете стандартные файловые функции Win32, чтобы иметь доступ к нему. Данные в mailslot могут быть в любой форме, но общий размер не может быть больше 64K. В отличие от дисковых файлов, файлы MailSlot временные. Когда все указатели на MailSlot закрываются, MailSlot и все данные, которые он содержит, удаляются. Ссылки
по теме: что такое, MSDN (англ.), пример использования (внизу). 2. Pipe (канал) - средство межпроцессного взаимодействия, это область разделяемой памяти, один процесс пишет в неё, другой (или другие) читает. Чаще используется для организации в
заимодействия процессов на локальном компьютере, но можно работать и по сети. Ссылки по теме: MSDN (англ.), пример использования (вверху). 3. Веб-сервис - грубо говоря, некоторое API, к которому можно обратиться по сети и которое описано посредством XML. На С++ реализовывать с нуля, честно говоря, мне кажется неоправданно муторным, проще
уже тогда работать с .Net, где этот механизм весьма удобен. Но действительно существуют готовые решения, например, вот, однако это не бесплатно. Ссылки по теме: что такое. 4. Remote Procedure Call (удалённый вызов процедур) - технология, позволяющая компьютерным программам вызывать функции или процедуры в другом адресн
ом пространстве (возможно, на удалённых компьютерах). Реализация клиент-серверного приложения по сравнению с теми же сокетами, по моему мнению, более трудоёмкая и менее очевидная. Ссылки по теме: что такое, описание механизма, пример (англ.). 5. HTTPS - расширение протокола
HTTP, поддерживающее шифрование. Ссылки по теме: что такое, opensource-ный компонент для с++. 6. Функции WinInet - специальный набор функций для работы с Интернетом, предоставляющие в том числе возможность работы с прокси-сервером. Ссылки по теме: MSDN (англ)
a>, примеры.
Ну и напоследок, несколько opensource-ных библиотек, инкапсулирующих работу с сокетами: dlib C++ library Fox Toolkit
Удачи!
----- Эта история - не для истории, понимаешь?
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.