Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: UDP-сокеты,
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Fast Ethernet/Gigabit Ethernet/FibreChannel
Волощенко
Приветствую всех!
Нуждаюсь в подсказке: Где можно прочесть о UDP-сокетах, применительно к среде C++Builder 6, хотелось бы с примерами.
Спасибо за содержательный ответ smile.gif
KRS
Если не пользоваться готовыми классами ( компонентами) то смотреть можно в MSDN
Platform SDK: Windows Sockets 2
или просто Berkeley sockets, только под виндами немного специфичная реализация.
Rst7
Я бы Вам рекомендовал делать при помощи функций bsd, а не пользовать всякие Indy и прочие компоненты билдера. Потом спокойнее будет.

А так прям первая ссылка в гугле по запросу "UDP-сокет Builder" http://www.codingclub.net/Modules/Articles...cat=9&id=81
zltigo
Цитата(Rst7 @ Jun 26 2008, 11:25) *
Я бы Вам рекомендовал делать при помощи функций bsd...

Именно так. От "компонентов" держаться подальше, как лучше и самого "билдера".
В крайнем (платформа,однако навязывает) случае можно слегка разабавить winsock2 приблудами.
Волощенко
К Rst7, спасибо за ссылку. Однако, попытка вставить из предлагаемого, к примеру, bsd: $ hello 9000 в мой текст, вызывает ошибку как недопустимый символ "$"...

Вот еще была ссылка на http://forum.shelek.ru/index.php/topic,939...36326#msg136326, которая прочитана уже более 13000 раз... Кажется, по теме топика, хотя тоже у меня не проходит. Что можете о статье сказать?
zltigo
Цитата(Волощенко @ Jun 26 2008, 12:58) *
Вот еще была ссылка...

Значит так, для общего развития берете какую-нибудь юниксовую книжку (я студетнам для понятия по сокетам обычно Робачевского сую) читаете и сразу можете писать чего-нибудь консольное для понятия. Win версии сокетов, как уже писал, потом, нежели припрет.
Rst7
Цитата
попытка вставить из предлагаемого, к примеру, bsd: $ hello 9000


Простите, куда Вы вставляете пример запуска из юниксовой консоли собраной программы??? Может, не сочтите за наезд, надо сначала немного экпы в пользовании компьютером поднабрать, а потом уже за написание программ садится?
Aprox
Цитата(zltigo @ Jun 26 2008, 13:58) *
Именно так. От "компонентов" держаться подальше, как лучше и самого "билдера".
В крайнем (платформа,однако навязывает) случае можно слегка разабавить winsock2 приблудами.

Пользую готовый компонент UDP-client для управляющего FrontEnd под виндами. Все очень просто, надежно, никаких нареканий по работе этого компонента не имею. Пишу правда не в" билдере", а в дельфях-7, но реализация компонентов там и там по-моему одинакова. Поэтому не вижу оснований хаять готовые компоненты.
zltigo
Цитата(Aprox @ Jun 26 2008, 16:33) *
Поэтому не вижу оснований хаять готовые компоненты.

Не вижу оснований плодить сущности и навороты, да еще на одном из немногих хорошо продуманном, описаном, гибком и портируемом на многие платформы программном интерфейсе.
Тяга к "компонентам", к сожалению, есть болезнь культивируемая Борландом с целью создать ложные иллюзии простоты программирования - нажми на кнопку (ну очень красивую - тоже предоставит Вам Борланд) - вызовешь "компонент" - получшь результат (какой-то sad.gif ) - можешь называть себя "программистом" sad.gif и держать карман шире..
Как увижу ну очень "красивую" с зеленой галочкой или красным крестиком кнопку - сразу выбрасываю такую программу - ибо своеобразный знак антикачества. Вот за внедрение такой "метки" Борланду действительно спасибо - время экономит smile.gif.
Волощенко
Цитата(Aprox @ Jun 26 2008, 17:33) *
Пользую готовый компонент UDP-client для управляющего FrontEnd под виндами.
Вот бы подробней с этого места, если можно ссылку, в дельфи бы разобрался smile.gif
Я уже прошел в C++Builder 6 такие этапы:
1. подключение библиотек и заголовков.
2. инициализацию Winsock
3. создание сокета
дальше пока в процессе освоения...

к KRS, спасибо за наводку на Berkeley sockets... Тоже много полезной информации.

к All, я ограничил тему средой C++Builder 6, на изучение большего пока нет сил...
И еще, сбросил бы кто примерчик... smile.gif
zltigo
Цитата(Волощенко @ Jun 26 2008, 18:22) *
И еще, сбросил бы кто примерчик... smile.gif

От заточенного под билдер - увольте smile.gif, а примерчик-болванка под Win писаный (на скорую руку sad.gif )в прошлом веке для начинающего украинского коллеги Гены - нашелся. Там и комментарии есть smile.gif по некоторым неосвещенным особенностям Win smile.gif. Чуть порезал интимные места, но читабельно и собирабельно любым компилятором после выбрасывания конкретных форматов передаваемых пакетов.
Волощенко
к zltigo
Огромное спасибо за пример!!!
Написано понятно, ответ в точку, изучаю... smile.gif
tolik1
Цитата(Волощенко @ Jun 26 2008, 21:15) *
к zltigo
Огромное спасибо за пример!!!
Написано понятно, ответ в точку, изучаю... smile.gif

Книга - Э.Джонс Д.Оланд
"Программирование в сетях Microsoft Windows"
Читайте её!!!!! Там Есть Всё что надо знать для программирования в сетях под Win.
В Билдере нет ничего плохого Создаете поток, синхронизируетесь с формой(в смысле запуска и ввода вывода т.е. отображения) и понеслась... Модель вводавывода сокета мне нравится через Event. Кстати Wait функйии можно использовать и системные и WSAшные.
Волощенко
Цитата(tolik1 @ Jun 27 2008, 08:36) *
Книга - Э.Джонс Д.Оланд
"Программирование в сетях Microsoft Windows"
Читайте её!!!!!

Спасибо! Скачал, читаю...
Aprox
Цитата(Волощенко @ Jun 26 2008, 20:22) *
Вот бы подробней с этого места, если можно ссылку, в дельфи бы разобрался smile.gif

Если начали в билдере, то и оставайтесь в нем. Это практически то-же самое, что и дельфи.
Цитата
Я уже прошел в C++Builder 6 такие этапы:
1. подключение библиотек и заголовков.
2. инициализацию Winsock
3. создание сокета
дальше пока в процессе освоения...

В свое время тоже продирался через библиотеку сокетов. А потом нашел в Indy готовые компоненты, которые производят необходимые пересылки данных по сети, и при этом сами разбираются с сокетами без участия программиста. В разделе компонентов билдера "Indy" находите UDPClient или UDPServer в зависимости от вашей задачи, вставляете этот компонент в свое окно программы и пишете ряд простых обращений по отсылке и приему датаграмм. Все остальное за вас сделает готовый компонент. А там много чего, если внимательно разобраться. Там и установление соединения, и ARP разрешение IP адресов, и посылка ошибочных сообщений по ICMP. Hо юзеру ничего этого знать не надо и перелопачивать килотонны хелпов тоже. Единственно, что я обнаружил нехорошего в готовых компонентах от Борланда, а может и самих виндов- это ограничение пропускной способности по передаче датаграмм. У меня , например, на довольно хилом компьютере больше 56 Мбит.сек никак не получалось. Если Вас такие скорости не напрягают, советую бросить возню с сокетами и не раздумывая обратиться к готовым компонентам Indy.


Цитата(zltigo @ Jun 26 2008, 18:55) *
Не вижу оснований плодить сущности и навороты, да еще на одном из немногих хорошо продуманном, описаном, гибком и портируемом на многие платформы программном интерфейсе.
Тяга к "компонентам", к сожалению, есть болезнь культивируемая Борландом с целью создать ложные иллюзии простоты программирования - нажми на кнопку (ну очень красивую - тоже предоставит Вам Борланд) - вызовешь "компонент" - получшь результат (какой-то sad.gif ) - можешь называть себя "программистом" sad.gif и держать карман шире..
Как увижу ну очень "красивую" с зеленой галочкой или красным крестиком кнопку - сразу выбрасываю такую программу - ибо своеобразный знак антикачества. Вот за внедрение такой "метки" Борланду действительно спасибо - время экономит smile.gif.

Тяга к компонентам -это естественное желание человека сэкономить время, силы и нервы. Причем, в большинстве случаев компоненты действительно этому помогают. Если бы примеров было побольше в хелпе, вообще прекрасно зажили бы. А что касается изображения "кнопочек", то у Борланда представлено множество возможностей изобразить кнопочку на любой вкус , цвет и даже звук, было бы желание. Таким образом, нет никаких оснований для религиозных войн.
zltigo
Цитата(Aprox @ Jun 27 2008, 13:18) *
А что касается изображения "кнопочек", то у Борланда представлено множество возможностей изобразить кнопочку на любой вкус , цвет...

Я в курсе smile.gif и пользуюсь несколькими хорошими, или даже очент хорошими борлондячими программами.
Только вот их Авторы, не пользуются мутными "компонентами" из интернету, и уж точно дали себе труд сменить борлондячие кнопки и вообще поработать над интерфейсом. Речь идет о том, что "борлондячая кнопка" приляпаная по-умолчанию для меня 99% признак дебильного софта. Проверено sad.gif.
Цитата
...и при этом сами разбираются с сокетами без участия программиста...
...Все остальное за вас сделает готовый компонент...
..Но юзеру ничего этого знать не надо и перелопачивать килотонны хелпов тоже...

Так не бывает. Это я Вам, как конечный (неудавшийся sad.gif ) юзер множества подобных "творений" говорю. Охотно верю, что аВТОРЫ сиих творений чего-то там круто сэкономили, и сваяли не прикладая ума и возможно даже рук к клавиатуре. Только меня результат их "творчества" категорически не устраивает.
Волощенко
Цитата(Aprox @ Jun 27 2008, 14:18) *
У меня , например, на довольно хилом компьютере больше 56 Мбит.сек никак не получалось. Если Вас такие скорости не напрягают, советую бросить возню с сокетами и не раздумывая обратиться к готовым компонентам Indy.

Спасибо за совет по новым возможностям!
Меня бы такая скорость пока устроила...
Буду разбираться, здесь важно все понять самому smile.gif

P.S. Испробовал Indy на примере из http://devoid.com.ua/c-builder/cppbuilder-...rez-socket.html
Все получилось. smile.gif
Есть еще пример http://articles.org.ru/cfaq/index.php?qid=1606&catid=64
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.