Библиотека для сетевого взаимодействия

Форум для изучающих FPC и их учителей.

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

mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Библиотека для сетевого взаимодействия

Сообщение mirk »

Synapse и lnet уже давно не обновляются, TSocketServer помечен DEPRECATED :cry:
Какую библиотеку лучше использовать для сетевого взаимодействия?
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

mirk писал(а):Какую библиотеку лучше использовать для сетевого взаимодействия?

Для начала нужно составить список задач, которые должна выполнять библиотека. Причём задачи должны быть чётко сформулированы, без неоднозначности толкования. Искренне надеюсь, что цель "взаимодействия" у Вас уже точно так же чётко сформулирована. ;-) И лишь только после этого можно подбирать себе библиотеку, которая выполняет все поставленные задачи. Или спросить здесь, если Вы такой не нашли. ;-)
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

Как минимум хочется TCP и UDP сервер с клиентом.
Ну и было бы замечательно увидеть поддержку TLS.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Synapse отлично подходит. И хотя там в классах явного слова "server" нет, но его сокет может как передавать данные, так и слушать какой-нибудь порт. Причём и TCP и UDP...
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

Synapse находится в анабиозе.
Хочется использовать то, что развивается и поддерживается.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

mirk писал(а):Synapse находится в анабиозе.

Это не тоже самое, что и "не работает". Надеюсь Вы это понимаете?

Добавлено спустя 2 минуты 20 секунд:
mirk
На всякий случай, по поводу термина "развивается". :-D В подавляющем большинстве случаев - это исправление обнаруженных косяков. Какие-то новые, принципиальные вещи при этом появляются крайне редко. ;-)
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

mirk писал(а):Synapse находится в анабиозе.

В нём просто всё работает.
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

Vadim писал(а):На всякий случай, по поводу термина "развивается". :-D В подавляющем большинстве случаев - это исправление обнаруженных косяков. Какие-то новые, принципиальные вещи при этом появляются крайне редко. ;-)

Прошло более 6 лет с последнего релиза - даже крайне редкие вещи уже становятся актуальными.
А если наткнешься на баг, то что делать?
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

mirk писал(а):А если наткнешься на баг, то что делать?

Сообщите сюда, обсудим что с багом делать.
Хочу только предупредить - говорить надо конкретно, а то вот Вы пока только капризничаете. :-) Библиотека Synapse то работает и работает нормально. Вы ведь пока что ни одного бага там не нашли, не так ли? Следовательно, исправлять там ничего не нужно.Следовательно, о каком тогда развитии может идти речь, в какую сторону развиваться? ;-)

Добавлено спустя 12 минут 8 секунд:
На всякий случай:
Кое какие изменения в коде Synapse происходят здесь:
https://sourceforge.net/p/synalist/code ... ree/trunk/

Главный разработчик кидает исправления туда. Возможно на главный сайт у него доступа уже давно нет.
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

Vadim писал(а):Следовательно, исправлять там ничего не нужно.Следовательно, о каком тогда развитии может идти речь, в какую сторону развиваться?

Да вот например поддержка авторизации SNMPv3 уже вполне актуальна. Так же интересна фича с HTTP редиректами. А если бы еще интерпритировался JS - вообще сказка. Можно еще вспомнить про поддержку других протоколов (как минимум SCTP).
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

mirk
Попробуйте через sf.net связаться с разработчиком.
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

Можно ли в Synapse сделать многопоточный TCP сервер?
Т.е. чтобы под каждое соединение создавался отдельный поток.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

mirk писал(а):Можно ли в Synapse сделать многопоточный TCP сервер?
Т.е. чтобы под каждое соединение создавался отдельный поток.

Неправильная формулировка. :-D
Не в Synapse, а с помощью Synapse. Многопоточное приложение опирается на TThread (если Вы, конечно, не любитель низкоуровневой организации потоков :-) ), а в пакете этот класс ни разу не упоминается. Значит Вам нужно создать свой класс, куда включаете класс из Synapse и класс TThread. Современный TThread вообще позволяет работать с потоком не создавая переменную этого типа. Так что в принципе всё просто. Естественно при главном условии, которое я уже Вам озвучивал в своём первом посте. ;-)
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

mirk писал(а):Можно ли в Synapse сделать многопоточный TCP сервер?
Т.е. чтобы под каждое соединение создавался отдельный поток.

https://forum.lazarus.freepascal.org/in ... 024.0.html
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

Vadim писал(а):Неправильная формулировка. :-D
Не в Synapse, а с помощью Synapse.

Нормальная формулировка.
Если Synapse не позволяет этого делать, то это не делает формулировку неправильной :lol:

Ichthyander писал(а):https://forum.lazarus.freepascal.org/in ... 024.0.html

Спасибо, похоже на то что мне надо.
Только слегка переусложнено.
Ответить