Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];

Вниз

Подскажите пожалуйста...   Найти похожие ветки 

 
Василий Свиридов   (2002-01-31 05:28) [0]

... компонент для работы с сокетами (TCP/UDP), только чтобы он не тянул за собой пол-VCL. А то нужно маленький сервер написать и не хочется чтобы его минимальный размер начинался с 300-400 кб.


 
Digitman   (2002-01-31 10:21) [1]

Использование класса TComponent (ты ж о компонентах-таки речь ведешь ?) "потянет" на ~150кб (модуль Classes). Без Classes эта "халява" никак не обойдется.

TServerSocket и иже с ним "потянут" еще на на ~50кб (модуль ScktComp). Итого "халява от Борланда" под названием TServerSocket "утяжеляет" объектный код до ~300кб ("по-крупному" туда еще войдут System, SysInit, SysUtils, SyncObjs)

"Нарисовать" все это в усеченном варианте на API обойдется тебе, думаю, где-то в ~100 кб даже при использовании консоли. Разница, конечно, есть, но - стоит ли "овчинка выделки" ?


 
NailS   (2002-01-31 11:09) [2]

Есть неплохие компоненты ICS

http://overbyte.alexid.fr/frame_index.html

Что-бы не использовался Forms компилишь с директивой NO_FORMS
(хотя могу ошибаться, это подробно описано в заголовке модуля WSocket.pas)


 
Velocity   (2002-01-31 11:32) [3]

>Digitman
Намного меньше чем в 100. Натурально, с наворотами и обработкой ошибок (ну не всех конечно, самых дрянных) - около 30 килов. Разумеется в юзесах только Windows и Winsock.


 
Василий Свиридов   (2002-01-31 23:55) [4]

Спасибо всем.


 
Digitman   (2002-02-01 15:38) [5]

>Velocity
"пустая" консоль в Д5 "весит" 48кб. Проверь сам. Это - system + sysinit


 
vuk   (2002-02-01 20:08) [6]

to DigitMan:
ScktComp тянет за собой Forms, а он, в свою очередь, тянет дополнительно еще очень много чего (около 20 модулей). Вот как раз и получаются почти те самые "пол-VCL" и именно из-за него получается такой размер.

То есть

program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, scktcomp;

begin
end.


весит около 300 КБ если включен модуль ScktComp и только 41 КБ (видимо у Вас получилось 48 в связи с другими ключами компиляции)если используется только SysUtils.
Что же касается того, что можно использовать для работы с сокетами, то я могу порекомендовать (да и сам использую) Indy.


 
Иван Шихалев   (2002-02-02 19:20) [7]

to Digitman

> "пустая" консоль в Д5 "весит" 48кб. Проверь сам.
> Это - system + sysinit


А насколько я помню ~16K


 
Digitman   (2002-02-04 09:13) [8]

Приношу извинения. На самом деле, "пустая" консоль в Д5 "весит" 41кб (uses SysUtils) и 16кб (без оного).
ScktComp действительно "тянет" за собой Forms. Чушь конечно, но - факт : Forms нужен в этом модуле ТОЛЬКО ЛИШЬ ДЛЯ ОБРАБОТКИ ИСКЛЮЧЕНИЙ на уровне объекта Application !!!!! И ни для чего более !


 
drpass   (2002-02-04 12:08) [9]

Ребята, вот эта прога, я сейчас ее пишу в D6, так вот она занимает 144К со всеми этими модулями... и прекрасно работает. Так что вполне реально уложиться в небольшой файл
uses
Windows,
Messages,
SysUtils,
ScktComp,
Classes,
PSAPI,
TlHelp32;


 
vuk   (2002-02-04 15:49) [10]

to Digitman:
>Forms нужен в этом модуле ТОЛЬКО ЛИШЬ ДЛЯ ОБРАБОТКИ ИСКЛЮЧЕНИЙ
>на уровне объекта Application !!!!! И ни для чего более !
Не только для этого. Дело в том, что компоненты из ScktComp работают по асинхронной модели WinSocket. Вся нотификация о происходящем в сокете получается через оконные сообщения.

Для облегчения обработки сообщений в TCustomWinSocket используется механизм создания скрытого окна и связывания его с экземпляром объекта при помощи функции AllocateHWnd из модуля Forms. Подробности - TCustomWinSocket.GetHandle



 
Digitman   (2002-02-04 16:35) [11]

>vuk
Верно. Упустил сей момент)


 
SerB   (2002-02-05 08:06) [12]

Попробуйте KOL



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
4-57922
Ogu
2002-02-12 20:33
2002.04.18
Размер папки


1-57696
UDS
2002-04-07 20:44
2002.04.18
Как управлять размером объектов?


3-57610
Deirdra
2002-03-27 15:19
2002.04.18
DBGrid&Lookup


3-57634
MAxiMum
2002-03-26 12:29
2002.04.18
Работа с Interbase


1-57819
dr_neo_rostov
2002-04-05 14:24
2002.04.18
Двоичный вид числа и строки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский