Главная » Помощь » Программа клиенты 3.0 3. Основные особенности программы клиент-банк. Функции установления связи

Программа клиенты 3.0 3. Основные особенности программы клиент-банк. Функции установления связи

Как найти и скачать в Интернете любые файлы Райтман М. А.

Программа-клиент μTorrent

Программа-клиент?Torrent

Программ-клиентов в сети существует много. Один из самых популярных - это?Torrent. Для установки этой программы-клиента сначала следует скачать из Интернета установочный файл этого приложения по адресу http://www.utorrent.com/ .

На этой странице следует нажать кнопку и загрузить установочный файл этой программы на свой компьютер. На экране появится диалоговое окно загрузки, предлагающее сохранить или сразу открыть закачиваемый файл. Если вы нажмете кнопку Запустить (Run), программа будет установлена на ваш компьютер без промежуточного сохранения на жестком диске. Если же будет нажата кнопка Сохранить (Save), то установочный файл сохранится в указанной вами папке. В этом случае установку программы вы можете произвести в удобное для вас время.

Установка программы на компьютер не представляет сложности.

1. Выберите вариант загрузки Запустить (Run) или дважды щелкните мышью на сохраненном установочном файле. На экране появится диалоговое окно Choose Language (Выбор языка), из открывающегося списка которого следует выбрать желаемый язык.

2. Выберите желаемый язык и нажмите кнопку OK . Появится первое окно мастера установки.

3. Нажмите в первом окне мастера установки кнопку Далее (Next). На экране вы увидите второе окно мастера установки с предупреждением о сетевых мошенниках.

4. Прочтя предупреждение о сетевых мошенниках, нажмите кнопку Далее (Next), чтобы отобразить лицензионное соглашение. После того как вы лицензионное соглашение прочтете, нажмите кнопку Соглашаюсь (I agree).

Появится следующее окно мастера установки, показывающее путь установки программы по умолчанию и предлагающее закрепить ссылки быстрого запуска программы в меню Пуск (Start), в панели быстрого запуска и установить на Рабочем столе (Desktop) ярлык. Кроме того, в этом же диалоговом окне вы увидите в поле ввода Размещение программы (Install path) путь, по которому компьютер предлагает по умолчанию поместить установочный файл.

5. Нажмите в диалоговом окне выбора места установки кнопку Далее (Next), чтобы отобразить диалоговое окно Конфигурация (Configuration).

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

Если вы не желаете устанавливать в вашем веб-обозревателе дополнительную панель, сбросьте соответствующий флажок.

7. Примите для себя решение, устанавливать ли вам на свой компьютер эту дополнительную панель инструментов, и нажмите кнопку Установить (Install). На экране появится окно программы?Torrent. Но, т. к. это первый запуск программы, поверх окна программы вы увидите диалоговое окно Оптимизатор скорости (Speed Guide) (рис. 6.2).

Проходить тест скорости не обязательно. Достаточно в открывающемся списке Тип соединения (Connection type) указать тип вашего подключения.

8. Выберите ваш тип соединения с Интернетом и нажмите кнопку Использовать выбранное (Use selected settings). Диалоговое окно Оптимизатор скорости (Speed Guide) будет закрыто, и вы увидите окно программы?Torrent (рис. 6.3).

В принципе, настраивать больше ничего не нужно. Произведенных настроек в большинстве случаев достаточно, чтобы осуществлять скачивание/раздачу файлов.

Из книги 200 лучших программ для Linux автора Яремчук Сергей Акимович

Клиент Ekiga В дистрибутиве Ubuntu в качестве приложения для IP-телефонии и проведения видеоконференций используется Ekiga (http://www.ekiga.org/). Первая версия этой программы была написана Демиеном Сандрасом, который сегодня является одним из руководителей проекта, в качестве дипломной

Из книги Delphi. Учимся на примерах автора Парижский Сергей Михайлович

Глава 18 FTP-клиент Постановка задачи Разработать FTP-клиент. Программа должна соединяться с FTP-cepвером, проходить аутентификацию и предоставлять пользователю возможность работать с файлами, которые находятся на сервере. У пользователя должна быть возможность передавать и

Из книги Эффективное делопроизводство автора Пташинский Владимир Сергеевич

Почтовый клиент В переводе с компьютерного жаргона это простая программа для приема и отправки электронной почты. Это нужная операция, поэтому программ такого рода множество. Однако Outlook – самая простая и удобная, что нетрудно доказать.Во-первых, Outlook универсален: он

Из книги Самоучитель работы на компьютере автора

Программа Nero Express Лучшая программа для записи дисков Записывать диски средствами Windows неинтересно. Во-первых, скучно, а во-вторых, вам недоступны какие-либо настройки записи, вы даже не можете указать скорость, не говоря уже о выборе формата диска, методе записи. Вот

Из книги Бесплатные разговоры через Интернет автора Фрузоров Сергей

Программа-клиент Программа-клиент бесплатной версии Roger Wilco отличается тем, что в ее окне отсутствует вкладка Host Base Station (Обосноваться на базовой станции). Это естественно, поскольку сервер запускается отдельно и настраивается в режиме командной строки. Тем не менее,

Из книги Как найти и скачать в Интернете любые файлы автора Райтман М. А.

Окно программы?Torrent Перед тем как приступить к работе с данным приложением, ознакомимся сначала с элементами управления этой программы.Как и у большинства остальных Windows-программ, в верхней части приложения вы увидите строку заголовка программы. В левой части строки

Из книги Наглядный самоучитель работы на нетбуке автора Сенкевич Г. Е.

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

Закачка файлов с помощью программы?Torrent Теперь можно приступить и к скачиванию желаемых файлов. Но для этого сначала следует найти торрент, с помощью которого потом будет закачан данный файл. Такие торренты находятся на специальных сайтах - трекерах. В России наиболее

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

QIP - альтернативный ICQ-клиент Возможно, для общения в ICQ вам больше понравится альтернативный ICQ-клиент - программа QIP. Существуют две версии этой программы: QIP 2005 и OIP Infium. На нетбуке предпочтение стоит отдать более простой и компактной версии - QIP 2005.В программе QIP 2005 есть

Из книги Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform автора Кёртен Роб

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

Клиент-сервер Средства локального доступа.* Локальная заглушка TCP/IP. Для многоуровневых серверных приложений и других клиентов доступ к локальному серверу на любой поддерживаемой платформе осуществляется через протокол TCP/IP: даже при отсутствии сетевой карты соединение

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

Клиент Клиент, который желает послать запрос серверу, блокируется до тех пор, пока сервер не завершит обработку запроса. Затем, после завершения сервером обработки запроса, клиент разблокируется, чтобы принять «ответ».Это подразумевает обеспечение двух условий: клиент

Из книги Социальные сети. ВКонтакте, Facebook и другие… автора Леонтьев Виталий Петрович

DNS-клиент Служба предназначена для получения IP-адреса удаленного компьютера при известном доменном или url-адресе этого компьютера (например, www.mail.ru). При этом процесс получения IP-адреса удаленного компьютера реализуется благодаря взаимодействию службы DNS-клиент с

Из книги автора

Веб-клиент Служба позволяет изменять или добавлять файлы, хранящиеся в Интернете. Если эта стандартная функция Windows вам не нужна, то службу лучше отключить.Служба Веб-клиент занимает около 800 Кбайт оперативной памяти и запускается с правами локальной службы (NT

Из книги автора

30.3. Тестовый клиент TCP В листинге 30.1 показан клиент, который будет использоваться для тестирования всех вариаций нашего сервера.Листинг 30.1. Код клиента TCP для проверки различных версий сервера//server/client.с 1 #include "unp.h" 2 #define MAXN 16384 /* максимальное количество байтов, которые

Из книги автора

Торрент-клиент?Torrent Вероятно, вас уже всерьез достали эти теоретические разглагольствования, вы рветесь в бой и стучите копытами? Что ж, перейдем к практике. Чтобы начать работать с торрентами, нам нужны две вещи: во-первых, специальнаяпрограмма-качалка, а во-вторых –

Программа-клиент

Работа с WinSocket

Socket (гнездо, разъем) - абстрактное программное понятие, используемое для обозначения в прикладной программе конечной точки канала связи с коммуникационной средой, образованной вычислительной сетью. При использовании протоколов TCP/IP можно говорить, что socket является средством подключения прикладной программы к порту (см. выше) локального узла сети.

Socket-интерфейс представляет собой просто набор системных вызовов и/или библиотечных функций языка программирования СИ, разделенных на четыре группы:

1. Локального управления

2. Установления связи

3. Обмена данными (ввода/вывода)

4. Закрытия связи

5. Пример использования WinSocket

Ниже рассматривается подмножество функций socket-интерфейса, достаточное для написания сетевых приложений, реализующих модель "клиент-сервер" в режиме с установлением соединения.

1. Функции локального управления

Функции локального управления используются, главным образом, для выполнения подготовительных действий, необходимых для организации взаимодействия двух программ-партнеров. Функции носят такое название, поскольку их выполнение носит локальный для программы характер.

1.1 Создание socket"а

Создание socket"а осуществляется следующим системным вызовом

#include int socket (domain, type, protocol) int domain; int type; int protocol;

Аргумент domain задает используемый для взаимодействия набор протоколов (вид коммуникационной области), для стека протоколов TCP/IP он должен иметь символьное значение AF_INET (определено в sys/socket.h).

Аргумент type задает режим взаимодействия:

SOCK_STREAM - с установлением соединения;

SOCK_DGRAM - без установления соединения.

Аргумент protocolзадает конкретный протокол транспортного уровня (из нескольких возможных в стеке протоколов). Если этот аргумент задан равным 0, то будет использован протокол "по умолчанию" (TCP для SOCK_STREAM и UDP для SOCK_DGRAM при использовании комплекта протоколов TCP/IP).

При удачном завершении своей работы данная функция возвращает дескриптор socket"а - целое неотрицательное число, однозначно его идентифицирующее. Дескриптор socket"а аналогичен дескриптору файла ОС UNIX.

При обнаружении ошибки в ходе своей работы функция возвращает число "-1".

1.2. Связывание socket"а

Для подключения socket"а к коммуникационной среде, образованной вычислительной сетью, необходимо выполнить системный вызов bind, определяющий в принятом для сети формате локальный адрес канала связи со средой. В сетях TCP/IP socket связывается с локальным портом. Системный вызов bind имеет следующий синтаксис:

#include

#include #include int bind (s, addr, addrlen) int s; struct sockaddr *addr; int addrlen;

Аргумент s задает дескриптор связываемого socket"а.

Аргумент addr в общем случае должен указывать на структуру данных, содержащую локальный адрес, приписываемый socket"у. Для сетей TCP/IP такой структурой является sockaddr_in.

Структура sockaddr_in используется несколькими системными вызовами и функциями socket-интерфейса и определена в include-файле in.h следующим образом:

struct sockaddr_in { short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero; };

Поле sin_family определяет используемый формат адреса (набор протоколов), в нашем случае (для TCP/IP) оно должно иметь значение AF_INET.

Поле sin_addr содержит адрес (номер) узла сети.

Поле sin_port содержит номер порта на узле сети.

Поле sin_zero не используется.

Определение структуры in_addr (из того же include-файла) таково:

struct in_addr { union { u_long S_addr; /*

другие (не интересующие нас)

члены объединения */

} S_un; #define s_addr S_un.S_addr };

Структура sockaddr_in должна быть полностью заполнена перед выдачей системного вызова bind. При этом, если поле sin_addr.s_addr имеет значение INADDR_ANY, то системный вызов будет привязывать к socket"у номер (адрес) локального узла сети.

В случае успеха bind возвращает 0, в противном случае - "-1".

2. Функции установления связи

Для установления связи "клиент-сервер" используются системные вызовы listen и accept (на стороне сервера), а также connect (на стороне клиента). Для заполнения полей структуры socaddr_in, используемой в вызове connect, обычно используется библиотечная функция gethostbyname, транслирующая символическое имя узла сети в его номер (адрес).

2.1. Ожидание установления связи

Системный вызов listen выражает желание выдавшей его программы-сервера ожидать запросы к ней от программ-клиентов и имеет следующий вид:

#include int listen (s, n) int s; int n;

Аргумент s задает дескриптор socket"а, через который программа будет ожидать запросы к ней от клиентов. Socket должен быть предварительно создан системным вызовом socketи обеспечен адресом с помощью системного вызова bind.

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

Признаком удачного завершения системного вызова listen служит нулевой код возврата.

Для обращения программы-клиента к серверу с запросом на установление логической соединения используется системный вызов connect, имеющий следующий вид

#include

#include #include int connect (s, addr, addrlen) int s; struct sockaddr_in *addr; int addrlen;

Аргумент s задает дескриптор socket"а, через который программа обращается к серверу с запросом на соединение. Socket должен быть предварительно создан системным вызовом socketи обеспечен адресом с помощью системного вызова bind.

Аргумент addr должен указывать на структуру данных, содержащую адрес, приписанный socket"у программы-сервера, к которой делается запрос на соединение. Для сетей TCP/IP такой структурой является sockaddr_in. Для формирования значений полей структуры sockaddr_in удобно использовать функцию gethostbyname.

Аргумент addrlen задает размер (в байтах) структуры данных, указываемой аргументом addr.

Для того, чтобы запрос на соединение был успешным, необходимо, по крайней мере, чтобы программа-сервер выполнила к этому моменту системный вызов listen для socket"а с указанным адресом.

При успешном выполнении запроса системный вызов connect возвращает 0, в противном случае - "-1" (устанавливая код причины неуспеха в глобальной переменной errno).

Примечание. Если к моменту выполнения connect используемый им socket не был привязан к адресу посредством bind ,то такая привязка будет выполнена автоматически.

Примечание. В режиме взаимодействия без установления соединения необходимости в выполнении системного вызова connect нет. Однако, его выполнение в таком режиме не является ошибкой - просто меняется смысл выполняемых при этом действий: устанавливается адрес "по умолчанию" для всех последующих посылок дейтаграмм.

2.3. Прием запроса на установление связи

Для приема запросов от программ-клиентов на установление связи в программах-серверах используется системный вызов accept, имеющий следующий вид:

#include

#include int accept (s, addr, p_addrlen) int s; struct sockaddr_in *addr; int *p_addrlen;

Аргумент s задает дескриптор socket"а, через который программа-сервер получила запрос на соединение (посредством системного запроса listen).

Аргумент addr должен указывать на область памяти, размер которой позволял бы разместить в ней структуру данных, содержащую адрес socket"а программы-клиента, сделавшей запрос на соединение. Никакой инициализации этой области не требуется.

Аргумент p_addrlen должен указывать на область памяти в виде целого числа, задающего размер (в байтах) области памяти, указываемой аргументом addr.

Системный вызов accept извлекает из очереди, организованной системным вызовом listen, первый запрос на соединение и возвращает дескриптор нового (автоматически созданного) socket"а с теми же свойствами, что и socket, задаваемый аргументом s. Этот новый дескриптор необходимо использовать во всех последующих операциях обмена данными.

Кроме того после удачного завершения accept:

область памяти, указываемая аргументом addr, будет содержать структуру данных (для сетей TCP/IP это sockaddr_in), описывающую адрес socket"а программы-клиента, через который она сделала свой запрос на соединение;

целое число, на которое указывает аргумент p_addrlen, будет равно размеру этой структуры данных.

Если очередь запросов на момент выполнения accept пуста, то программа переходит в состояние ожидания поступления запросов от клиентов на неопределенное время (хотя такое поведение accept можно и изменить).

Признаком неудачного завершения accept служит отрицательное возвращенное значение (дескриптор socket"а отрицательным быть не может).

Примечание. Системный вызов accept используется в программах-серверах, функционирующих только в режиме с установлением соединения.

2.4. Формирование адреса узла сети

Для получения адреса узла сети TCP/IP по его символическому имени используется библиотечная функция

#include

#include struct hostent *gethostbyname (name) char *name;

Аргумент name задает адрес последовательности литер, образующих символическое имя узла сети.

При успешном завершении функция возвращает указатель на структуру hostent, определенную в include-файле netdb.h и имеющую следующий вид

struct hostent { char *h_name; char **h_aliases; int h_addrtype; int h_lenght; char *h_addr; };

Поле h_name указывает на официальное (основное) имя узла.

Поле h_aliases указывает на список дополнительных имен узла (синонимов), если они есть.

Поле h_addrtype содержит идентификатор используемого набора протоколов, для сетей TCP/IP это поле будет иметь значение AF_INET.

Поле h_lenght содержит длину адреса узла.

Поле h_addr указывает на область памяти, содержащую адрес узла в том виде, в котором его используют системные вызовы и функции socket-интерфейса.

Пример обращения к функции gethostbyname для получения адреса удаленного узла в программе-клиенте, использующей системный вызов connect для формирования запроса на установления соединения с программой-сервером на этом узле, рассматривается ниже.

3. Функции обмена данными

В режиме с установлением логического соединения после удачного выполнения пары взаимосвязанных системных вызовов connect (в клиенте) и accept (в сервере) становится возможным обмен данными.

Этот обмен может быть реализован обычными системными вызовами read и write, используемыми для работы с файлами (при этом вместо дескрипторов файлов в них задаются дескрипторы socket"ов).

Кроме того могут быть дополнительно использованы системные вызовы send и recv, ориентированные специально на работу с socket"ами.

Примечание. Для обмена данными в режиме без установления логического соединения используются, как правило, системные вызовы sendtoи recvfrom. Sendto позволяет специфицировать вместе с передаваемыми данными (составляющими дейтаграмму) адрес их получателя. Recvfrom одновременно с доставкой данных получателю информирует его и об адресе отправителя.

3.1. Посылка данных

Для посылки данных партнеру по сетевому взаимодействию используется системный вызов send, имеющий следующий вид

#include

#include int send (s, buf, len, flags) int s; char *buf; int len; int flags;

Аргумент s задает дескриптор socket"а, через который посылаются данные.

Аргумент buf указывает на область памяти, содержащую передаваемые данные.

Аргумент len задает длину (в байтах) передаваемых данных.

Аргумент flags модифицирует исполнение системного вызова send. При нулевом значении этого аргумента вызов send полностью аналогичен системному вызову write.

При успешном завершении send возвращает количество переданных из области, указанной аргументом buf, байт данных. Если канал данных, определяемый дескриптором s, оказывается "переполненным", то send переводит программу в состояние ожидания до момента его освобождения.

3.2. Получение данных

Для получения данных от партнера по сетевому взаимодействию используется системный вызов recv, имеющий следующий вид

#include

#include int recv (s, buf, len, flags) int s; char *buf; int len; int flags;

Аргумент s задает дескриптор socket"а, через который принимаются данные.

Аргумент buf указывает на область памяти, предназначенную для размещения принимаемых данных.

Аргумент len задает длину (в байтах) этой области.

Аргумент flags модифицирует исполнение системного вызова recv. При нулевом значении этого аргумента вызов recv полностью аналогичен системному вызову read.

При успешном завершении recv возвращает количество принятых в область, указанную аргументом buf, байт данных. Если канал данных, определяемый дескриптором s, оказывается "пустым", то recv переводит программу в состояние ожидания до момента появления в нем данных.

4. Функции закрытия связи

Для закрытия связи с партнером по сетевому взаимодействию используются системные вызовы close и shutdown.

4.1. Системный вызов close

Для закрытия ранее созданного socket"а используется обычный системный вызов close, применяемый в ОС UNIX для закрытия ранее открытых файлов и имеющий следующий вид

int close (s) int s;

Однако в режиме с установлением логического соединения (обеспечивающем, как правило, надежную доставку данных) внутрисистемные механизмы обмена будут пытаться передать/принять данные, оставшиеся в канале передачи на момент закрытия socket"а. На это может потребоваться значительный интервал времени, неприемлемый для некоторых приложений. В такой ситуации необходимо использовать описываемый далее системный вызов shutdown.

4.2. Сброс буферизованных данных

Для "экстренного" закрытия связи с партнером (путем "сброса" еще не переданных данных) используется системный вызов shutdown, выполняемый перед close и имеющий следующий вид

int shutdown (s, how) int s; int how;

Аргумент s задает дескриптор ранее созданного socket"а.

Аргумент how задает действия, выполняемые при очистке системных буферов socket"а:

2 - сбросить все данные, передаваемые через socket в любом направлении.

5. Пример использования socket-интерфейса

В данном разделе рассматривается использование socket-интерфейса в режиме взаимодействия с установлением логического соединения на очень простом примере взаимодействия двух программ (сервера и клиента), функционирующих на разных узлах сети TCP/IP.

сервер, приняв запрос на соединение, передает клиенту вопрос "Who are you?";

клиент, получив вопрос, выводит его в стандартный вывод и направляет серверу ответ "I am your client" и завершает на этом свою работу;

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

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

5.1. Программа-сервер

Текст программы-сервера на языке программирования СИ выглядит следующим образом

1 #include

2 #include

3 #include

4 #include

5 #include

6 #define SRV_PORT 1234

7 #define BUF_SIZE 64

8 #define TXT_QUEST "Who are you?n"

10 int s, s_new;

11 int from_len;

12 char buf;

13 struct sockaddr_in sin, from_sin;

14 s = socket (AF_INET, SOCK_STREAM, 0);

15 memset ((char *)&sin, "", sizeof(sin));

16 sin.sin_family = AF_INET;

17 sin.sin_addr.s_addr = INADDR_ANY;

18 sin.sin_port = SRV_PORT;

19 bind (s, (struct sockaddr *)&sin, sizeof(sin));

20 listen (s, 3);

22 from_len = sizeof(from_sin);

23 s_new = accept (s, &from_sin, &from_len);

24 write (s_new, TXT_QUEST, sizeof(TXT_QUEST));

25 from_len = read (s_new, buf, BUF_SIZE);

26 write (1, buf, from_len);

27 shutdown (s_new, 0);

28 close (s_new);

Строки 1...5 описывают включаемые файлы, содержащие определения для всех необходимых структур данных и символических констант.

Строка 6 приписывает целочисленной константе 1234 символическое имя SRV_PORT. В дальнейшем эта константа будет использована в качестве номера порта сервера. Значение этой константы должно быть известно и программе-клиенту.

Строка 7 приписывает целочисленной константе 64 символическое имя BUF_SIZE. Эта константа будет определять размер буфера, используемого для размещения принимаемых от клиента данных.

Строка 8 приписывает последовательности символов, составляющих текст вопроса клиенту, символическое имя TXT_QUEST. Последним символом в последовательности является символ перехода на новую строку "n". Сделано это для упрощения вывода текста вопроса на стороне клиента.

В строке 14 создается (открывается) socket для организации режима взаимодействия с установлением логического соединения (SOCK_STREAM) в сети TCP/IP (AF_INET), при выборе протокола транспортного уровня используется протокол "по умолчанию" (0).

В строках 15...18 сначала обнуляется структура данных sin, а затем заполняются ее отдельные поля. Использование константы INADDR_ANY упрощает текст программы, избавляя от необходимости использовать функцию gethostbyname для получения адреса локального узла, на котором запускается сервер.

Строка 19 посредством системного вызова bind привязывает socket, задаваемый дескриптором s, к порту с номером SRV_PORT на локальном узле. Bind завершится успешно при условии, что в момент его выполнения на том же узле уже не функционирует программа, использующая этот номер порта.

Строка 20 посредством системного вызова listen организует очередь на три входящих к серверу запроса на соединение.

Строка 21 служит заголовком бесконечного цикла обслуживания запросов от клиентов.

На строке 23, содержащей системный вызов accept, выполнение программы приостанавливается на неопределенное время, если очередь запросов к серверу на установление связи оказывается пуста. При появлении такого запроса accept успешно завершается, возвращая в переменной s_new дескриптор socket"а для обмена информацией с клиентом.

В строке 24 сервер с помощью системного вызова write отправляет клиенту вопрос.

В строке 25 с помощью системного вызова read читается ответ клиента.

В строке 26 ответ направляется в стандартный вывод, имеющий дескриптор файла номер 1. Так как строка ответа содержит в себе символ перехода на новую строку, то текст ответа будет размещен на отдельной строке дисплея.

Строка 27 содержит системный вывод shutdown, обеспечивающий очистку системных буферов socket"а, содержащих данные для чтения ("лишние" данные могут там оказаться в результате неверной работы клиента).

В строке 28 закрывается (удаляется) socket, использованный для обмена данными с очередным клиентом.

Примечание. Данная программа (как и большинство реальных программ-серверов) самостоятельно своей работы не завершает, находясь в бесконечном цикле обработки запросов клиентов. Ее выполнение может быть прервано только извне путем посылки ей сигналов (прерываний) завершения. Правильно разработанная программа-сервер должна обрабатывать такие сигналы, корректно завершая работу (закрывая, в частности, посредством close socket с дескриптором s).

Текст программы-клиента на языке программирования СИ выглядит следующим образом

1 #include

2 #include

3 #include

4 #include

5 #include

6 #define SRV_HOST "delta"

7 #define SRV_PORT 1234

8 #define CLNT_PORT 1235

9 #define BUF_SIZE 64

10 #define TXT_ANSW "I am your clientn"

13 int from_len;

14 char buf;

15 struct hostent *hp;

16 struct sockaddr_in clnt_sin, srv_sin;

17 s = socket (AF_INET, SOCK_STREAM, 0);

18 memset ((char *)&clnt_sin, "", sizeof(clnt_sin));

19 clnt_sin.sin_family = AF_INET;

20 clnt_sin.sin_addr.s_addr = INADDR_ANY;

21 clnt_sin.sin_port = CLNT_PORT;

22 bind (s, (struct sockaddr *)&clnt_sin, sizeof(clnt_sin));

23 memset ((char *)&srv_sin, "", sizeof(srv_sin));

24 hp = gethostbyname (SRV_HOST);

25 srv_sin.sin_family = AF_INET;

26 memcpy ((char *)&srv_sin.sin_addr,hp->h_addr,hp->h_length);

27 srv_sin.sin_port = SRV_PORT;

28 connect (s, &srv_sin, sizeof(srv_sin));

29 from_len = recv (s, buf, BUF_SIZE, 0);

30 write (1, buf, from_len);

31 send (s, TXT_ANSW, sizeof(TXT_ANSW), 0);

В строках 6 и 7 описываются константы SRV_HOST и SRV_PORT, определяющие имя удаленного узла, на котором функционирует программа-сервер, и номер порта, к которому привязан socket сервера.

Строка 8 приписывает целочисленной константе 1235 символическое имя CLNT_PORT. В дальнейшем эта константа будет использована в качестве номера порта клиента.

В строках 17...22 создается привязанный к порту на локальном узле socket.

В строке 24 посредством библиотечной функции gethostbyname транслируется символическое имя удаленного узла (в данном случае "delta"), на котором должен функционировать сервер, в адрес этого узла, размещенный в структуре типа hostent.

В строке 26 адрес удаленного узла копируется из структуры типа hostent в соответствующее поле структуры srv_sin, которая позже (в строке 28) используется в системном вызове connect для идентификации программы-сервера.

В строках 29...31 осуществляется обмен данными с сервером и вывод вопроса, поступившего от сервера, в стандартный вывод.

Строка 32 посредством системного вызова close закрывает (удаляет) socket.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.realcoding.net/

Прежде чем мы продолжим знакомиться с различными программами и их типами, я хотел бы остановиться еще на двух таких фундаментальных понятиях в компьютерной терминологии, как «Клиент» и «Вэб-интерфейс» .

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

И рассмотрим мы эти термины на двух примерах. Это электронная почта и облачное хранение данных .

Эти примеры будут более показательны, так как мы с Вами уже рассматривали примеры облачных технологий в уроке « ».

Ну а что касается электронной почты, так этот термин вообще у Всех на слуху.

Итак, приступим. Так почему некоторые программы называют «Клиентами» ?

Программы-клиенты получили свое название из-за особенностей технологии, по которой они работают. И технология эта носит название «Клиент — Сервер» (или клиент-серверная технология ).

На первый взгляд звучит страшно и непонятно. Но на самом деле все довольно просто. И сейчас мы с Вами в этом убедимся.

Программа — клиент для Dropbox

В первом примере рассмотрим работу с облачным сервисом Dropbox.

Я не буду утверждать, что этот сервис самый лучший. Но для меня самый удобный, хотя бесплатно выделяет в облаках не так много дискового пространства.

Удобен этот сервис для меня по одной причине. У этого сервиса есть реализация программ-клиентов под ВСЕ .

Так как работе у меня операционная система Linux, а дома Windows, то только этот сервис обеспечивает мне простую и комфортную работу с информацией.

Ну и, безусловно, доступ к своей информации на этом ресурсе я могу получить через вэб-интерфейс . Вот с этого мы и начнем.

Захожу на ресурс Dropbox по адресу https://www.dropbox.com/

После ввода логина и пароля попадаю в «кусочек облака», где хранятся мои данные.

Конечно, можно сюда закачивать данные со своего компьютера и скачивать обратно, после каких — нибудь изменений с данными. Но, согласитесь, это довольно неудобно, долго и муторно.

Перечисленные недостатки работы со своими данными решаются установкой на компьютер программы — клиента , которую предлагает нам данный сервис.

Причем, если у меня установлена операционная система Windows, то меня «перекидывает» на страничку для скачивания программы клиента для ОС Windows.

Если я работаю под операционной системой Linux, то мне предлагают программы-клиенты для Linux.

Аналогично и для Mac OS X и операционных систем для мобильных устройств.

Скачиваю и устанавливаю клиента на работе под Linux, а дома под Windows.

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

Все. Начинается синхронизация данных из облака с данными на моих компьютерах (ну, безусловно, при наличии интернета).

Как только синие «кружки» станут зелеными, то это будет означать, что данные на моем домашнем компьютере под ОС Windows, в облаке и компьютере на работе под ОС Linux станут абсолютно одинаковыми.

И, теперь, если я сделаю какое-нибудь изменение с данными в любом месте, будь то облако, домашний компьютер или рабочий, эти изменения через несколько минут произойдут на всех устройствах.

Как я приводил уже один пример. Начинаю писать эту статью, которую Вы сейчас читаете, на работе. Закончился рабочий день. Прихожу домой. Включаю свой ноутбук и продолжаю писать.

Или еще один пример. Выехал на природу со смартфоном или планшетником, на котором установлен клиент Dropbox (на моем смартфоне клиент установлен под операционной системой Android).

Сделал фотографии, записал пение птичек.

Пришел домой или на работу, а на компьютере все это уже лежит на диске. Ничего никуда переписывать не надо.

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

Нет интернета — просто работаю. Подключаюсь к интернет — сразу происходит синхронизация данных.

Что не говорите, а очень удобно.

Ну и еще об одном типе программ-клиентов — почтовом клиенте .

Электронная почта

Не знаю, как Вы воспримите эту информацию. До меня эти понятия доходили года два. Правда, почитать тогда особо негде было. Интернет только — только появился. Точнее не сам интернет, а возможность к нему подключиться.

Каким образом мы пользуемся электронной почтой?

Заходим на ресурс в интернете, где зарегистрирован наш почтовый ящик (mail.ru , yandex.ru , google.com и т.д.). Вводим в форму регистрации свой логин и пароль и заходим в свой почтовый ящик.

Другими словами заходим в свою электронную почту через Вэб-интерфейс .

Такой вид доступа к своему почтовому ящику еще называют «электронная почта онлайн». Онлайн (online ) в переводе с английского означает «на линии» или «линия включена» (on — вкл., line — линия).

Обязательным условием использования такого способа доступа к своему почтовому ящику — это наличие интернет соединения.

Есть интернет — есть доступ к письмам в своем почтовом ящике. Нет интернета — нет доступа. Всего два варианта.

Так вот. Оказывается можно иметь электронную почту, не имея выхода в интернет.

Для этого и существует разновидность специальных программ, которые называются клиент электронной почты (почтовые клиенты).

У многих провайдеров, которые предоставляют услуги интернет, есть даже такая отдельная услуга — «электронная почта». Услуга довольно дешевая. Для этого совсем не обязательно подключаться к интернет.

Клиент электронной почты через модем соединяется только с почтовым сервером . Передает и принимает почту, а затем отключается.

Ну а если такой услуги у Вашего провайдера нет, то достаточно иметь самый дешевый тарифный план для подключения к интернет. Для такого вида почтового ящика это больше чем достаточно.

Программы-клиенты электронной почты используют практически все организации во всем мире. Так как интернет в этом случае не обязателен (а в некоторых организациях и запрещен).

Но комфортную работу с электронной почтой такие программы обеспечивают.

Эта программа устанавливается на компьютер. Производится настройка доступа к почтовому серверу. В тех же настройках определяется, через какой промежуток времени проверять почту на почтовом сервере. И все. Просто периодически просматриваете свой почтовый ящик.

Такой вид доступа к своему почтовому ящику еще называют «электронная почта оффлайн». Оффлайн (offline ) в переводе с английского означает «отключенный от линии» (off — выкл., line — линия).

Типичными представителями почтовых клиентов являются:

  • Outlook от компании Microsoft из офисного пакета Microsof Office (платная)
  • Outlook Express от той же компании Microsoft, но как уже отдельная программа (платная, устаревает)
  • Windows Live Mail от той же компании Microsoft. Тоже отдельная программа (платная, в последних версиях ОС Windows заменяет Outlook Express )
  • The Bat от компании RITLabs (платная)
  • Mozilla Thunderbird от компании Mozilla Foundation (бесплатная)
  • Opera mail от компании Opera Software (бесплатная). Раньше клиент был встроен в браузер Opera, а сейчас является отдельной программой

Про принципиальные отличия электронной почты онлайн и оффлайн я Вам рассказал. Давайте рассмотрим еще несколько отличий.

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

Почтовые клиенты более «строгие» . В них нет почти никаких оформлений внешнего вида. Да это и понятно. Такие программы предназначены только для чтения почты и отправки писем.

Такие программы больше используются, как я уже говорил, в организациях. Где ничто не должно отвлекать от работы.

Другое дело электронная почта онлайн, которой мы пользуемся через вэб-интерфейс. Там все красиво и располагает к отдыху и развлечениям.

Поэтому на работе мне приходится работать с почтовым клиентом Outlook Express, тем более что он является корпоративным стандартом. Ну а дома предпочитаю онлайн почтовые ящики на google.com, mail.ru и yandex.ru.

Примеры вэб-интерфейсов почтовых сервисов онлайн я Вам приводить не буду, так как Вы их и без меня прекрасно видите, когда работаете со своей электронной почтой.

А вот пару примеров интерфейсов почтовых клиентов, которыми я пользуюсь на работе, я Вам хочу показать.

Почтового клиента Outlook

Интерфейс почтового клиента Outlook Express

Еще немного о программах-клиентах

Еще несколько примеров.

Как я уже говорил, программа-клиент, это такая программа, которая установлена на Вашем компьютере и работает с серверами в интернете.

Например, Вы любитель мощных навороченных игрушек. Современные мощные игры работают только на мощных персональных компьютерах.

Вы покупаете «последнюю новинку сезона» в магазине. Приходите и устанавливаете себе на компьютер. Начинаете играть.

Хорошо, если «железо» Вашего компьютера способно обеспечить игрушку ресурсами, которые этой игрушке необходимы (оперативная память, место на диске, способность видеокарты «без затыков» воспроизвести все на мониторе Вашего компьютера). Причем такая установленная игра занимает 5-10 ГБ дискового пространства.

Процессор при этом грузится почти на 100%. Оперативная память «выедается» почти вся. Вплоть до того, что компьютер вообще «виснет».

Это игрушка оффлайн.

Но есть и подобные игрушки онлайн. И таких игр становится все больше и больше.

В этом случае находите в интернете игровой сервер. Скачиваете себе на компьютер и устанавливаете программу-клиент для работы с данным сервером.

Программа обычно маленькая (несколько мегабайт) и никаких ресурсов у Вашего компьютера «выедать» не будет. И Вы можете играть в модную супер игрушку даже на слабеньком компьютере. В этом случае вся нагрузка ложится на игровой сервер.

Хотя есть и «навороченные» игры онлайн, в которые можно играть и без программы-клиента.

Еще один показательный пример — это программа-клиент для . Эти программы так и называются BitTorrent-клиенты.

Скачиваете и устанавливаете BitTorrent-клиент на свой компьютер. Скачиваете с торрент-сервера торрент-файл (размер такого файла обычно несколько килобайт). Открываете этот торрент-файл в программе-клиенте.

Все. Если торрент-файл какого-то фильма, к Вам на компьютер начинает закачиваться фильм. Если торрент-файл музыкального альбома какой-то группы, то начинает скачиваться альбом.

Ну а для общения с друзьями и родственниками Вы устанавливаете у себя на компьютер программу-клиент «скайп» (Skype) .

Я надеюсь, что мы с Вами разобрались с такими понятиями, как «Вэб-интерфейс»

Клиент (программный)

В информационных технологиях клие́нт - это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу .

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

Разновидностью клиентов являются терминалы - рабочие места на многопользовательских ЭВМ, оснащённые монитором с клавиатурой , и не способные работать без сервера. В 90-е годы появились сетевые компьютеры - нечто среднее между терминалом и персональным компьютером. Сетевые компьютеры имеют упрощённую структуру и во многом зависят от сервера.

Тем не менее, не всегда под клиентом подразумевается компьютер со слабыми вычислительными ресурсами. Чаще всего понятия «клиент» и «сервер» описывают распределение ролей при выполнении конкретной задачи, а не вычислительные мощности. На одном и том же компьютере могут одновременно работать программы, выполняющие как клиентские, так и серверные функции. Например, веб-сервер может, в качестве клиента, получать данные для формирования страниц от

Wikimedia Foundation . 2010 .

  • Зиггоны
  • Святой Патрик

Смотреть что такое "Клиент (программный)" в других словарях:

    Клиент-Коммуникатор - программное обеспечение, платформа для визуального проектирования автоматизированных систем управления предприятием, основанных на концепциях CRM и ERP. Разработано компанией БМикро (Россия, г. Санкт Петербург) Это коммерческое программное… … Википедия

    клиент (в информационных технологиях) - клиент клиентская часть ПО Пользователь, компьютер или программа, запрашивающая услуги, ресурсы, данные или обработку у другой программы или другого компьютера. Компьютер, с которого осуществляется доступ к серверу с целью обмена или получения… … Справочник технического переводчика

    Программный клиент - В информационных технологиях клиент это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу. Программа, являющаяся клиентом, взаимодействует с сервером, используя определенный протокол. Она может запрашивать с … Википедия

    Клиент - Клиент: Клиент (от лат. cliens, множ. clientes) в Древнем Риме свободный гражданин, отдавшийся под покровительство патрона и находящийся от него в зависимости. Клиент общее название субъекта, использующего некоторые услуги.… … Википедия

    Клиент (информатика) - У этого термина существуют и другие значения, см. Клиент. Клиент это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу. Программа, являющаяся клиентом, взаимодействует с сервером, используя определённый … Википедия

    Программный продукт - Запрос «Software» перенаправляется сюда. Cм. также другие значения. Программное обеспечение (произношение обеспечение не рекомендуется, точнее, не рекомендовалось) наряду с аппаратными средствами, важнейшая составляющая информационных … Википедия

    Заявки (программный комплекс) - Программный комплекс «Заявки» (ПК «Заявки») автоматизирует процесс создания, рассмотрения и обработки диспетчерских заявок на ремонт энергетического оборудования в соответствии с правилами, положениями и регламентами, принятыми в Единой… … Википедия

    ПАРУС (программный продукт) - У этого термина существуют и другие значения, см. Парус (значения). Программные продукты «ПАРУС» (ПП «ПАРУС») предназначены для автоматизации деятельности коммерческих предприятий и бюджетных учреждений разного уровня. Среди линеек ПП… … Википедия

    Парус (программный продукт) - У этого термина существуют и другие значения, см. Парус (значения). Парус серия программных продуктов, предназначенных для автоматизации деятельности организаций сектора государственного и муниципального управления, а также коммерческих… … Википедия

    Система «Клиент-Банк» - – программный комплекс, позволяющий клиенту совершать операции по счету, обмениваться документами и информацией с банком без посещения офиса кредитной организации. Обмен информации происходит через телефон и компьютер. Удобная система «Клиент… … Банковская энциклопедия

Книги

  • Электронная торговля и оптимизационные компьютерные технологии , В. Е. Лихтенштейн. В настоящее время во всем мире наблюдается рост оборотов электронной торговли как в секторе «бизнес-клиент», так и в секторе «бизнес-бизнес». Системы электронной торговли (e-commerce)…

Программа банк-клиент — это современная система доступа к счетам организации и управления счетами через интернет. Из этой статьи вы узнаете, что собой представляет программа банк-клиент , а также о ее функциях, достоинствах и недостатках.

Что такое банк-клиент и как в нем работать?

Банк-клиент представляет собой систему дистанционного банковского обслуживания (ДБО), предназначенную для удаленного проведения платежей и прочих банковских операций, контроля расчетного счета в режиме реального времени посредством обмена информацией с банковским сервером через интернет.

Характеристики системы:

  • Представляет собой программу, устанавливаемую на ПК клиента.
  • Банковские документы (платежки, выписки) хранятся на компьютере пользователя
  • Возможна работа вне сети. Банк-клиент позволяет в офлайн-режиме формировать новые документы, использовать возможности экспорта и импорта, создавать новые документы, выгружать старые выписки. Однако отправлять платежки, загружать новые выписки банк-клиент не позволяет, так как для этого нужна связь с сервером банка.

Чем отличается интернет-банк от клиент-банка (их преимущества и недостатки)?

Клиент-банк в классическом понимании — это совокупность способов удаленного банковского обслуживания, доступ к которым происходит через ПК пользователя. Банк предоставляет клиенту необходимое программное обеспечение, техническую и методическую поддержку.

Однако в зависимости от способа сетевых коммуникаций выделяют 2 вида ДБО: «толстый» клиент (банк-клиент, или программа клиент-банк ) и «тонкий» клиент (интернет-банк).

Основное отличие в работе двух систем удаленного доступа в том, что интернет-банк работает полностью через интернет посредством браузера (вся информация о банковском счете находится на сервере банка), в то время как банк-клиент (толстый клиент) работает через программу, установленную на компьютере пользователя. Отсюда вытекают и другие различия систем, их плюсы и минусы применительно к каждому конкретному пользователю:

  1. Работа с документами вне сети интернет.

Доступна для программы банк-клиент, для интернет-банка недоступна.

  1. Возможности доступа с нескольких устройств.

Для одновременного доступа к данным через интернет-банк необходим лишь специально настроенный браузер. Для доступа в банк-клиент нужна установка программы на каждом компьютере.

  1. Хранение данных, защита информации.

Данные в системе интернет-банк хранятся на сервере банка, при использовании программы банк-клиент — на компьютере пользователя, поэтому в системе банк-клиент информация о счетах подвержена большей опасности. В случае если выйдет из строя компьютер с системой пользователя интернет-банка, он сможет просто переустановить браузер или зайти в онлайн-банк с другого устройства, в то время как пользователь банк-клиента, возможно, потеряет часть информации о счете, и эти данные придется восстанавливать.

  1. Расширенные функции.

Как правило, система банк-клиент предоставляет больше опций, например просмотр истории изменения статуса документа и другие. Также немаловажным плюсом для некоторых организаций будут возможности взаимодействия системы обслуживания с различными бухгалтерскими сервисами и программами (для банк-клиента они, как правило, шире).

В зависимости от необходимых параметров работы организация может выбрать тот или иной вариант дистанционного банковского обслуживания либо совместно использовать и ту и другую систему.

Банк-клиент или Клиент-банк - как правильно?

Как мы уже выяснили, клиент-банк — это обобщенное понятие, объединяющее системы банк-клиент и интернет-банк (интернет-клиент). Назвать интернет-систему, работающую через специальную банковскую программу, можно и банк-клиентом, и клиент-банком. Однако в договорах банковского обслуживания, как правило, используется термин «клиент-банк».

Как установить банк-клиент?

Установка программы производится следующим образом:

  1. Для начала необходимо проверить соответствие техники пользователя техническим требованиям устанавливаемой системы.
  2. Устанавливается программное обеспечение банка.
  3. Устанавливается программа-генератор ключей, запрос на генерацию отправляется в банк.
  4. Через окно браузера пользователь входит в программу банка. Логин и пароль находятся в пакете банковских документов. В USB-порт вставляют электронный ключ.
  5. Банк в течение нескольких дней выпускает сертификаты ключей. Пользователю необходимо зайти в систему, распечатать документ в двух экземплярах, отнести в банк.
  6. Через несколько дней сертификаты ключей становятся доступны пользователю, система готова к эксплуатации.

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

Устанавливает систему и работает с ней бухгалтер (обязательно уверенный пользователь ПК), как правило, самостоятельно с применением подробных инструкций банка-поставщика, однако в некоторых случаях может понадобиться помощь специалистов.

Как пользоваться клиент-банком (инструкция, порядок работы в системе)?

Итак, как же работать в программе клиент-банк? Работа в системе клиент-банк происходит с применением компьютера, подключенного (или имеющего доступ) к интернету. Для работы в системе интернет-банк на ПК устанавливают браузер (обычно Internet Explorer), который настраивают согласно инструкции банка-поставщика, и программу-шифрователь данных (КриптоПро или другую). В браузере запускают страницу банка, с которой и происходит доступ к данным расчетного счета. Также для доступа необходимы персональные логин и пароль и электронный USB-ключ eToken, выдаваемые банком при регистрации. eToken — это защищенный носитель информации, внешне похожий на USB-флеш-карту.

Итоги

Клиент-банк является очень удобным способом банковского обслуживания юрлиц и ИП. Существует 2 вида системы ДБО: банк-клиент и интернет-банк, оба имеют свои преимущества и недостатки. Основным преимуществом интернет-банка является возможность работы на сервере банка без угрозы потери данных, основной недостаток — отсутствие возможностей для офлайн-работы. В отличие от интернет-банка банк-клиент позволяет выполнять часть работы без подключения к интернету, однако существует риск частичной потери информации о счетах из-за технического сбоя.



Предыдущая статья: Следующая статья:

© 2015 .
О сайте | Контакты
| Карта сайта