fcl-web vs synapse

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

fcl-web vs synapse

Сообщение Ichthyander » 03.11.2017 19:04:20

Я пользуюсь много лет библиотекой synapse для работы с сетью. Но так вышло, что у меня не получалось настроить HTTPS-запросы с моего веб сервера (Debian) на другие сайты по защищенному протоколу https. На десктопных компьютерах Windows/Ubuntu раньше прекрасно работало, а на веб-сервере делать запросы (аналоги curl в PHP) - нет. Так вот - решил попробовать встроенный класс THTTPClient из библиотеки fcl-web. И все заработало, причем без всяких библиотек в папке программы и прочего. Теперь думаю - зачем мне использовать synapse, если и встроенные средства хорошо работают, причем в данном конкретном случае THTTPClient показал себя лучше, чем synapse.
Вопросы
Кто что юзает при работы с сетью? Я традиционно пользовался synapse и, мне, вообщем, нравится эта библиотеки. Закавыки в основном случаются с OpenSSL режимом и версиями билиотек OpenSSL из-за чего иногда HTTPS не работает на машинах клиентов. Да и я как-то привык, что используют внешние библиотеки типа synapse или Indy в Lazarus, если судить хотя бы по этому форуму... Но почему, собственно, не так популярны "встроенные" средства по работе с web, с чем это связано? То ли она стала толком работать нормально совсем недавно, то ли сих пор она не очень юзабельна? Думаю, может все следующие проекты использовать уже встроенные средства Lazarus для работы с сетью?
Аватара пользователя
Ichthyander
постоялец
 
Сообщения: 304
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: fcl-web vs synapse

Сообщение zub » 03.11.2017 22:23:27

С сетью нужды работать никогда небыло. Попробовал. Потыкался с fcl-web - с лету написал 2 багрепорта... поправили конечно оперативно, но нужно быть готовым к проблемам с fcl-web
zub
долгожитель
 
Сообщения: 2275
Зарегистрирован: 14.11.2005 23:51:26

Re: fcl-web vs synapse

Сообщение Ichthyander » 05.11.2017 19:27:02

zub Ну, вообщем, буду использовать в новых проектах эту библиотеку, существующие переводить пока не буду )
Аватара пользователя
Ichthyander
постоялец
 
Сообщения: 304
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: fcl-web vs synapse

Сообщение olegy123 » 07.11.2017 01:37:59

Ichthyander писал(а):Кто что юзает при работы с сетью?

Все базируется на сокетах, Synapse, Indy, INet - оболочки над сокетом со своими подходами и навесами. Indy - поддерживает больше протоколов, в 10ой версия написана под многопоточность, создает и возвращает tthread.
Synapse - реализация многопоточности ложится на программиста.

Ichthyander писал(а):Но почему, собственно, не так популярны "встроенные" средства по работе с web, с чем это связано? То ли она стала толком работать нормально совсем недавно, то ли сих пор она не очень юзабельна?

Вэб это не только сокет, что вполне реализует fpc.
Если вопрос стоит о контенте - от документа HTML до мултимедиа, то это вопрос уже не fpc.
Недавно мы обсуждали эту тему - ответ такой что развитием Web-а занимается одна организация это Google. Полную поддержку технологии реализуют на сегодняшний день в хроме. остальные "устали". Даже Опера полностью уселась на двиг хрома.
olegy123
энтузиаст
 
Сообщения: 763
Зарегистрирован: 25.02.2016 12:10:20

Re: fcl-web vs synapse

Сообщение Ichthyander » 08.11.2017 11:03:45

olegy123 писал(а):Вэб это не только сокет, что вполне реализует fpc.
Если вопрос стоит о контенте - от документа HTML до мултимедиа, то это вопрос уже не fpc.
Недавно мы обсуждали эту тему - ответ такой что развитием Web-а занимается одна организация это Google. Полную поддержку технологии реализуют на сегодняшний день в хроме. остальные "устали". Даже Опера полностью уселась на двиг хрома.

Ну так я работаю сейчас с fpc не на уровне сокетов, а использую класс TFPHTTPClient, вполне себе инкапсулирующий протокол HTTP (+HTTPs без всяких там библиотек). Но мысль о том, что в synapse больше возможностей понятна. Но также вполне понятно, что в большинстве случаев способностей TFPHTTPClient хватит при работе в сетью в протоколе HTTP.

Добавлено спустя 3 минуты 4 секунды:
olegy123 писал(а):Synapse - реализация многопоточности ложится на программиста.

Вот это кстати мне нравится в synapse (и в TFPHTTClient), кстати... Это плюс по мне, предсказуемое поведение. А когда твое приложение работает с сетью по-любому нужно создавать потоки и лучше, если об этом заботиться сам кодер. Если это не простенькое сиюминутное приложение для парсинга со страницы. Но может в этом случае и без потоков можно обойтись...
Аватара пользователя
Ichthyander
постоялец
 
Сообщения: 304
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: fcl-web vs synapse

Сообщение olegy123 » 08.11.2017 18:07:10

Ichthyander писал(а):не так популярны "встроенные" средства по работе с web, с чем это связано? То ли она стала толком работать нормально совсем недавно, то ли сих пор она не очень юзабельна?

описание HTTP протокола было известно давно. Уже как более 25 лет. На этом делали встроенные средства.
Но из-за того что HTML находится в состоянии разработки - да так что многие устали его разрабатывать, отсюда сложность внедрения. Сложность автоматизации разработки - очень много вариантов исполнения, очень много разных технологий которые могут вписаны в страницу или сайт.
olegy123
энтузиаст
 
Сообщения: 763
Зарегистрирован: 25.02.2016 12:10:20

Re: fcl-web vs synapse

Сообщение Alex2013 » 12.11.2017 19:16:47

Меня в перспективе больше всего беспокоит поддержка IP6 + плюс "увеличение разрядности ОС" (Оно явно ведь на 64 битах не закончится ! Да и с текущей "модной" разрядностью в 64 бита пока не все понятно )

Зы
Извиняюсь за опечатки (пытался сразу на трех форумах писать и отвечать ... с понятным результатом :roll: :D )
Alex2013
энтузиаст
 
Сообщения: 710
Зарегистрирован: 03.04.2013 11:59:44

Re: fcl-web vs synapse

Сообщение serbod » 14.11.2017 10:50:24

Alex2013 писал(а):увеличение разрядности ОС

Разрядности чего? Шины адреса, шины данных, машинного слова, регистров процессора? Для адреса и машинного слова 64 бит с гигантским избытком. Регистры в процессоре уже 512-битные, а 128-битные были еще в процессорах с SSE. А шина данных для ОС не имеет значения, это влияет только на пропускную способность за такт.

Добавлено спустя 7 минут 12 секунд:
Забыл сказать, что шина адреса на самом деле 40 или 48 бит, потому что больше просто нет смысла, столько памяти даже в онлайн-хранилищах не наберется.
Аватара пользователя
serbod
постоялец
 
Сообщения: 215
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 14.11.2017 11:12:04

serbod писал(а):Забыл сказать, что шина адреса на самом деле 40 или 48 бит, потому что больше просто нет смысла, столько памяти даже в онлайн-хранилищах не наберется.


На самом деле это не совсем так. Там вообще понаверчено и полный адрес собирается только в процессоре на основе дескрипторных таблиц, да и то иногда требуется подкачка данных из свопа.
На самом деле, как я понял, из современной архитектуры выбрали почти все ресурсы и следующий скачок будет переходом на совсем другую архитектуру. Например, на квантовые вычисления и голографическую память. Правда, надо еще перейти на широкое использование SSD... Есть еще вариант объединение жесткого диска и ОЗУ...

Возможно, поэтому сейчас есть некая пауза в разработках -- все ждут масштабного внедрения VR/AR среди широких масс, а люди боятся.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4177
Зарегистрирован: 19.02.2013 16:54:51

Re: fcl-web vs synapse

Сообщение serbod » 14.11.2017 21:21:36

Лекс Айрин писал(а):полный адрес собирается только в процессоре на основе дескрипторных таблиц

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

В 80286 процессоре тот же 16-битный регистр сегмента содержит уже не кусочек реального адреса, а номер в таблице, где указан 24-битный адрес, и уровень доступа для данного сегмента. Типа, не номер телефона без последних цифр, а короткий номер телефона, по которому можно спросить полный номер телефона и не факт, что ответят. Не знаю, кто такое придумал, но вряд ли он был инженером, скорее бюрократом.

В 80386 регистр смещения в сегменте сделали 32-битным и он позволял обходиться без сегментов вообще. Чтобы предыдущим жопоруким инженерам не было обидно, таблицу адресов сегментов (дескрипторов) оставили, поэтому ошибки Segmentation Fault радуют нас по сей день. Назвали это "защищенной виртуальной памятью" и преподносят как преимущество.

В x86-64 выкинули нахрен сегментацию и сделали нормальную линейную адресацию.
Аватара пользователя
serbod
постоялец
 
Сообщения: 215
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 14.11.2017 21:43:44

serbod писал(а):Номер сегмента это по сути обрезаный реальный адрес, с фиксированным шагом 16 байт реального (линейного) адреса, за что инженерам Интел следовало оторвать руки по самую жопу.


Соглашусь, хотя тогда это было не так страшно.

serbod писал(а):Назвали это "защищенной виртуальной памятью" и преподносят как преимущество.


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

serbod писал(а):В x86-64 выкинули нахрен сегментацию и сделали нормальную линейную адресацию.


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

serbod писал(а): поэтому ошибки Segmentation Fault радуют нас по сей день.


По идее, тут должен срабатывать механизм подкачки и виртуальной памяти...
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4177
Зарегистрирован: 19.02.2013 16:54:51

Re: fcl-web vs synapse

Сообщение serbod » 14.11.2017 21:55:35

Лекс Айрин писал(а):из современной архитектуры выбрали почти все ресурсы

Нет, просто разработчики софта на десяток лет отстают от разработчиков железа. Это хорошо видно на игровых приставках - железо не меняется, а игры с каждым годом все навороченней. В Японии уже есть смартфоны со стереоэкраном и стереокамерой (глубина изображения без очков и приспособлений), а программные технологии распознавания объектов и совмещения пиксельной картинки с 3D-сценой только начали развиваться.

Перед квантовыми вычислениями есть еще промежуточный слой в виде ASIC (микросхема под конкретную задачу) и ПЛИС (программируемый конструктор микросхем из логических элементов). Которые обрабатывают данные не пошагово по программе, а за один такт.

Добавлено спустя 31 минуту 30 секунд:
Лекс Айрин писал(а):И резко снизили возможность создания изолированных адресных программ

При старте программы в современной ОС происходит быстрая перекомпиляция, замена абсолютных адресов на относительные, замена вызова системных функций, замена обращения к портам и вызова опасных для системы инструкций.
Аватара пользователя
serbod
постоялец
 
Сообщения: 215
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск

Re: fcl-web vs synapse

Сообщение olegy123 » 14.11.2017 22:54:55

Лекс Айрин писал(а):На самом деле, как я понял, из современной архитектуры выбрали почти все ресурсы и следующий скачок будет переходом на совсем другую архитектуру. Например, на квантовые вычисления и голографическую память. Правда, надо еще перейти на широкое использование SSD... Есть еще вариант объединение жесткого диска и ОЗУ..

Идет движение в сторону увеличения ядер, уже для домохозяек норма 8 ядер в телефоне. Можно уже в магазине в мухосранске купить камень в 18 ядер с 36 потоками.
Новость - Intel включилась в разработку GPU.

Есть FPGA. Там все процессы могут идти с одной частотой.
Только кто тут умеет работать с ними? с ядрышками?
olegy123
энтузиаст
 
Сообщения: 763
Зарегистрирован: 25.02.2016 12:10:20

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 15.11.2017 09:28:48

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


Ну как бы это уже давно норма.

serbod писал(а):Перед квантовыми вычислениями есть еще промежуточный слой в виде ASIC (микросхема под конкретную задачу) и ПЛИС (программируемый конструктор микросхем из логических элементов). Которые обрабатывают данные не пошагово по программе, а за один такт.


Вроде как этот путь признали нерентабельным, еще когда я пешком под стол ходил.

serbod писал(а):Нет, просто разработчики софта на десяток лет отстают от разработчиков железа.


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


olegy123 писал(а):Идет движение в сторону увеличения ядер, уже для домохозяек норма 8 ядер в телефоне. Можно уже в магазине в мухосранске купить камень в 18 ядер с 36 потоками.


А смысл? Чисто попонтоваться?

olegy123 писал(а):Новость - Intel включилась в разработку GPU.


Это как бы нормально... одно дело делают.
olegy123 писал(а):Только кто тут умеет работать с ними? с ядрышками?


По идее, это дело операционной системы, а программа только должна быть подготовлена к этому.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4177
Зарегистрирован: 19.02.2013 16:54:51

Re: fcl-web vs synapse

Сообщение olegy123 » 15.11.2017 10:18:15

Лекс Айрин писал(а):А смысл? Чисто попонтоваться?

Может "Рука рынка", может конкуренция, а может это есть "прогресс".

Лекс Айрин писал(а):Это как бы нормально... одно дело делают.

Тогда почему они прекратили выпускать видео устройства? И почему наняли разработчика из АМД?
Наверное сейчас нужно иметь GPU не только для рендеринга 3D сцен но необходимо для других задач, не связаных с 3D - распаковки упаковки видео, подсчета хеш в биткойнах и т.п.

Лекс Айрин писал(а):По идее, это дело операционной системы, а программа только должна быть подготовлена к этому.

операционка давно умеет работать со многими ядрами - Unix с 70х~80х прошлого столетия. А вот программист редко кто включает трейды.
olegy123
энтузиаст
 
Сообщения: 763
Зарегистрирован: 25.02.2016 12:10:20

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru