Главная » Просмотр файлов » 7. Алгоритм программы сокеты

7. Алгоритм программы сокеты (1060546)

Файл №1060546 7. Алгоритм программы сокеты (Свалка готовых неразобранных курсовых проектов)7. Алгоритм программы сокеты (1060546)2017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

  1. Разработка алгоритма программы для реализации канального протокола.


















































































































Реализация разработанного протокола может быть осуществлена на таких языках программирования, как Borland Delphi, C, Basic, LabView и т.д. В качестве примера для организации обмена данными для протокола TCP/IP мы использовали стандартные компоненты Borland Delphi 6 ClientSocket & ServerSocket.

Эти два компонента осуществляют связь «клиент-сервер», в нашем случае сервером выступает ПК, клиентом – периферийное устройство (УЗГ).

Итак, приведем краткий обзор.

Обзор по ClientSocket

Схема работы сокетного клиента:

Определение свойств Host и Port - чтобы успешно установить соединение, нужно присвоить свойствам Host и Port компонента TClientSocket требуемые значения. Host - это хост-имя либо IP-адрес ПК, с которым надо соединиться.

Port - номер порта (от 1 до 65535) для установления соединения. Обычно номера портов берутся, начиная с 1001 - т.к. номера меньше 1000 могут быть заняты системными службами (например, POP -110).

Открытие сокета - после того, как назначили свойствам Host и Port соответствующие значения, можно приступить непосредственно к открытию сокета (сокет здесь рассматривается как очередь, в которой содержатся символы, передающиеся от одного компьютера к другому). Для этого можно вызвать метод Open компонента TClientSocket, либо присвоить свойству Active значение True. Здесь полезно ставить обработчик исключительной ситуации на тот случай, если соединиться не удалось.

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

Закрытие сокета - после всех выполненных операций необходимо закрыть сокет с помощью метода Close компонента TClientSocket (либо присвоить свойству Active значение False).

Описание свойств и методов компонента TClientSocket

Свойства

Методы

События

Activeпоказывает, открыт сокет или нет. True – открыт, False – закрыт.

Host – строка (Тип: string), указывающая на хост-имя ПК, к которому подключаемся.

Address - строка (Тип: string), указывающая на IP-адрес ПК, к которому подключаемся. В отличие от Host, здесь содержатся лишь IP.

Port - номер порта, к которому подключаемся. Рекомендуются значения от 1 до 65535.

Service - строка, определяющая службу (ftp, http, pop, и т.д.),к порту которой произойдет подключение. Это своеобразный справочник соответствия номеров портов различным стандартным протоколам. Тип: string;

ClientTypeтип соединения. ctNonBlocking - aсинхронная передача данных, т.е. посылать и принимать данные по сокету можно с помощью OnRead, OnWrite.

ctBlockingсинхронная (одновременная) передача данных. События OnRead, OnWrite не работают. Этот тип соединения полезен для организации обмена данными с помощью потоков (т.е. работа с сокетом как с файлом).

Open – открытие сокета (аналогично присвоению значения True свойству Active);

Close – закрытие сокета (аналогично присвоению значения False свойству Active).

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

OnConnecting – возникает при установлении соединения. Отличие от предыдущего события в том, что соединение еще не установлено. Обычно такие промежуточные события используются для обновления статуса;

OnDisconnect – возникает при закрытии сокета. Причем, закрытия как со стороны ПУ, так и с ПК.

OnError – возникает при ошибке в работе сокета.

OnRead - возникает, когда ПК послал какие-либо данные.

OnWrite - возникает, когда разрешена запись данных в сокет.

Обзор по ServerSocket

Схема работы сокетного сервера:

Определение свойств Port и ServerType - чтобы к серверу могли нормально подключаться клиенты, нужно, чтобы порт, используемый сервером, точно совпадал с портом, используемым клиентом (и наоборот). Свойство ServerType определяет тип подключения;

Открытие сокета - открытие сокета и указанного порта. Здесь выполняется автоматическое начало ожидания подсоединения клиентов (Listen);

Подключение клиента и обмен данными с ним - здесь подключается клиент и идет обмен данными с ним.

Отключение клиента - Здесь клиент отключается и закрывается его сокетное соединение с сервером;

Закрытие сервера и сокета - По команде администратора сервер завершает свою работу, закрывая все открытые сокетные каналы и прекращая ожидание подключений клиентов.

Краткое описание компонента TServerSocket

Свойства

Методы

События

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

ServerType - тип сервера. Может принимать одно из двух значений: stNonBlocking - синхронная работа с клиентскими сокетами. При таком типе сервера Вы можете работать с клиентами через события OnClientRead и OnClientWrite. stThreadBlocking - асинхронный тип.

Active - показатель того, активен в данных момент сервер, или нет. Т.е., фактически, значение True указывает на то, что сервер работает и готов к приему клиентов, а False - сервер выключен. Тип: Boolean;

Port - номер порта для установления соединений с клиентами. Порт у сервера и у клиентов должны быть одинаковыми.

Рекомендуются значения от 1025 до 65535, т.к. от 1 до 1024 - могут быть заняты системой. Тип: Integer;

Service - строка, определяющая службу (ftp, http, pop, и т.д.), порт которой будет использован. Это своеобразный справочник соответствия номеров портов различным стандартным протоколам. Тип: string;

Open - запускает сервер. Эта команда идентична присвоению значения True свойству Active; Close - останавливает сервер. Эта команда идентична присвоению значения False свойству Active.

OnClientConnect - возникает, когда клиент установил сокетное соединение и ждет ответа сервера (OnAccept);

OnClientDisconnect - возникает, когда клиент отсоединился от сокетного канала;

OnClientError - возникает, когда текущая операция завершилась неудачно, т.е. произошла ошибка;

OnClientRead - возникает, когда клиент передал серверу какие-либо данные. Доступ к этим данным можно получить через передаваемый параметр Socket: TCustomWinSocket;

OnClientWrite - возникает, когда сервер может отправлять данные клиенту по сокету;

OnGetSocket - в обработчике этого события Вы можете отредактировать параметр ClientSocket;

OnAccept - возникает, когда сервер принимает клиента или отказывает ему в соединении;

OnListen - возникает, когда сервер переходит в режим ожидания подсоединения клиентов.

Посылка и прием данных через сокеты

procedure TForm1.Button1Click(Sender: TObject);

begin

{Определяем порт и запускаем сервер}

ServerSocket1.Port:= 1025;

{Метод Insert вставляет строку в массив в указанную позицию}

Memo2.Lines.Insert(0,'Server starting');

ServerSocket1.Open;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

{Останавливаем сервер}

ServerSocket1.Active := False;

Memo2.Lines.Insert(0,'Server stopped');

end;

procedure TForm1.ServerSocket1Listen(Sender: TObject;

Socket: TCustomWinSocket);

begin

{Сервер проверяет сокет на наличие клиентов}

Memo2.Lines.Insert(0,'Listening on port '+IntToStr(ServerSocket1.Port));

end;

procedure TForm1.ServerSocket1Accept(Sender: TObject;

Socket: TCustomWinSocket);

begin

{Сервер принимает клиента}

Характеристики

Тип файла
Документ
Размер
135 Kb
Тип материала
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

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

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

Список файлов курсовой работы

Свалка готовых неразобранных курсовых проектов
1
RPZ.mcd
y.mcd
y2000.mcd
Кинематическая схема.dwg
Колесо1.dwg
Обозначения и список литературы.mcd
РПЗ_Асхата.mcd
эмп.dwg
эмп.dwl
2
5.mcd
KP_OKP1.DWG
KP_OKP2.DWG
KP_OKP3.DWG
варианты редуктора с двигателем.dwg
зубчатые колеса.dwg
расчет валов.mcd
расчет привода.mcd
редуктор и двигатель на миллиметровке.dwg
PROJECT
y.mcd
Кинематическая схема.dwg
Обозначения и список литературы.mcd
РПЗ_Асхата.mcd
Для курсача
okp
lena kursa4
+1_СП_двигатель_в_сборе.CDW
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7041
Авторов
на СтудИзбе
259
Средний доход
с одного платного файла
Обучение Подробнее