Библиотеки для работы с сетью
Модератор: Модераторы
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
Библиотеки для работы с сетью
Сабж ^_^ Просто интересно. Я - в основном Indy - как подсел на неё в далёком D7, так и слезть не могу ^_^' Если пользовались чем-то одним, а потом перешли на другое - причины тоже очень интересны
Я пользуюсь всем, что под руку попадётся. 
Например, ping в Indy почему-то отказался работать без прав администратора. Сделал с помощью synapse.
Предпочтений не имею. Если кто-нибудь сделает сравнительную таблицу возможностей и недостатков разных библиотек - будет очень интересно.
Например, ping в Indy почему-то отказался работать без прав администратора. Сделал с помощью synapse.
Предпочтений не имею. Если кто-нибудь сделает сравнительную таблицу возможностей и недостатков разных библиотек - будет очень интересно.
C Indy слез после того, как там в одном проекте стали возникать внезапные исключения. Пробовал другие варианты, в конце концов перешел на WinAPI 
С Indy, так как она кроссплатформена.
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Имхо, но indy слишком тяжеловесна... пользовался в основном synapse
- EmeraldMan
- постоялец
- Сообщения: 149
- Зарегистрирован: 16.10.2008 08:41:51
- Откуда: Белгород
- Контактная информация:
Indy - очень крутая и мощная штука, раньше только ей пользовался.
Немного поюзал Synapse, но сильно он меня не зацепил, хотя тоже вроде хорошо сделали.
Сейчас использую lNet, считаю его самым удобным и легковесным. Разработан специально для FreePascal и Lazarus, в основе и лежат стандартные сетевые модули. Конечно если нужны уже готовые компоненты для различных сетевых протоколов, то тут их пока маловато (самые стандартные - http, ftp...), зато если нужны чистые tcp сокеты, то по-моему, lNet самая удобная штука.
Немного поюзал Synapse, но сильно он меня не зацепил, хотя тоже вроде хорошо сделали.
Сейчас использую lNet, считаю его самым удобным и легковесным. Разработан специально для FreePascal и Lazarus, в основе и лежат стандартные сетевые модули. Конечно если нужны уже готовые компоненты для различных сетевых протоколов, то тут их пока маловато (самые стандартные - http, ftp...), зато если нужны чистые tcp сокеты, то по-моему, lNet самая удобная штука.
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
lnet.ru - внезапно 
Brainenjii, положено помечать NFSMW такое
по теме я лично как-то использовал LNet из Lazarus-CCR, потому что от Indy у меня случился баттхёрт, когда я узнал, что там предоставляются бинарные скомпиленные .o и .ppu файлы вместо исходников, а Sypapse, ну я подумал, что это что-то такое эпичное, большое и сложное, что придётся долго осваивать. Потому и не стал возиться. LNet ближе всех лежал
по теме я лично как-то использовал LNet из Lazarus-CCR, потому что от Indy у меня случился баттхёрт, когда я узнал, что там предоставляются бинарные скомпиленные .o и .ppu файлы вместо исходников, а Sypapse, ну я подумал, что это что-то такое эпичное, большое и сложное, что придётся долго осваивать. Потому и не стал возиться. LNet ближе всех лежал
баттхёрт -- bad heart? (сердечный приступ)?
Если да -- то поосторожнее с этим термином. Многие мои знакомые умерли от инсульта (инфаркта). Давайте постучим по дереву, не надо накликать на себя беду, пожалуйста.
По теме: LNet, но для tcp-сокетов трафик просто гигантский. Юзал Windows XP, смотрел через диспетчер задач (врод как колонки ПРочий ВводВывод, Записано байт...). В Delphi все гораздо компактнее и эффектнее (Borland Sockets Componets -- он же dclsockets100.bpl) рулит. Вот что значит нативная реализация (смотрим исходники).
BDS 2006.
Если да -- то поосторожнее с этим термином. Многие мои знакомые умерли от инсульта (инфаркта). Давайте постучим по дереву, не надо накликать на себя беду, пожалуйста.
По теме: LNet, но для tcp-сокетов трафик просто гигантский. Юзал Windows XP, смотрел через диспетчер задач (врод как колонки ПРочий ВводВывод, Записано байт...). В Delphi все гораздо компактнее и эффектнее (Borland Sockets Componets -- он же dclsockets100.bpl) рулит. Вот что значит нативная реализация (смотрим исходники).
BDS 2006.
За кроссплатформность приходится платить...
Вобще надо бы написать абстрактные классы, чтобы при необходимости вписывать в них любую реализацию, без переписывания кода программ.
тогда уж энтерфейсы
Пользовал и Synapse и FCL. Тоже в основном потому что нелюблю больших привязок к большим библиотекам и компонентам, ну и проекты были в основном в которых нужны были только чистые tcp сокеты.
Кстати в FCL нехватает имхо пары простых классов для создания простого многопоточного tcp- сервера/клиента хотя-бы как в Делфи (там кажеться были что-то типа TSimpleTCPServer, TSimpleTCPClient). А то многие велосипеды клепают.
Не, скорее там приступ в другом месте
Кстати в FCL нехватает имхо пары простых классов для создания простого многопоточного tcp- сервера/клиента хотя-бы как в Делфи (там кажеться были что-то типа TSimpleTCPServer, TSimpleTCPClient). А то многие велосипеды клепают.
баттхёрт -- bad heart? (сердечный приступ)?
Не, скорее там приступ в другом месте
Кстати в FCL нехватает имхо пары простых классов для создания простого многопоточного tcp- сервера/клиента хотя-бы как в Делфи (там кажеться были что-то типа TSimpleTCPServer, TSimpleTCPClient). А то многие велосипеды клепают.
смотри модуль ssockets из FCL-net. там есть таки средства (TInetSocket, TInetServer), но отличаются от тех что в delphi.
Kitayets писал(а):[смотри модуль ssockets из FCL-net. там есть таки средства (TInetSocket, TInetServer), но отличаются от тех что в delphi.
Сейчас посмотрел... Да, все очень похоже интерфейсно. То, как я привык на дельфи - сервер неблокировщик, через TSocketStream, а клиент блокировщик, так, надо перегрузить Function TInetServer.SockToStream (ASocket : Longint) : TSocketStream; Да вставить туда вызов OnGetThread, которого, почему-то, нет...
И с минимальным шаманством все пойдет. А, ну и обвернуть компонентом. Надо попробовать, конечно. Работает-ли вообще. Хотя, судя по тому, что я видел - должно!
