Работа с большим кол-вом сокетов

Модераторы: Duncon, Naeel Maqsudov, Хыиуду, Игорь Акопян

Breg
Сообщения: 6
Зарегистрирован: 25 ноя 2004, 00:01
Откуда: Днепропетровск

25 ноя 2004, 00:13

При работе с большим кол-вом сокетов (TClientSocket) наблюдаю глюк осла, а точнее его отказ работать аж до перезагрузки компа.
Подскажите, плиз, что делать.
drmist
Сообщения: 32
Зарегистрирован: 03 авг 2004, 22:34

29 ноя 2004, 21:14

класс TClientSocket известен своей глючностью.
Рекомендую поставить Delphi7. там багов меньше.класса TClientSocket там нет, но и не надо.
вместо него я рекомендую использывать winsock2. его в Delphi7, увы, тоже нет, хотя разработчики обещали включить. второй сок придется искать в сети. если не найдешь - напиши. дам.
Breg
Сообщения: 6
Зарегистрирован: 25 ноя 2004, 00:01
Откуда: Днепропетровск

11 дек 2004, 02:31

Спасибо,
Делфю новую ставить пока не спишу,
а винсокс2 сейчас поищу. :)

Иш ты рифмач какой получился из меня. :) ))

Скорее всего таки прийдется Делфи7 ставить...
xpymep
Сообщения: 53
Зарегистрирован: 08 дек 2004, 21:42
Контактная информация:

16 дек 2004, 17:39

Во-первых у сервера (TServerSocket) ThreadsCacheSize должен стоять побольше. Во-вторых и впрямь TClientSocket использует сокеты версии:winsock 1.1, которые отличаются большооой глюкавостью. В-третьих winsock 2 - не лучше :) . В-четвертых, уж лучше работать с TCP/IP портом напрямую, чем через сокеты! Я писал чат (winsock1.1), так вот сервак держал до 10 пользователей, потом падал. Потом написал чат под линукс (используя ихний сокет, можно преобразовать сообщения от winsock1.1) сервак держал 40 пользователей спокойно (правда комп аж пыхтел от количества пользователей) и не упал.... Потом начали падать виндовые клиенты :) . Так что мой совет - НЕ ИСПОЛЬЗОВАТЬ СОКЕТЫ ВООБЩЕ. Правда компоненты TClientSocket и TServerSocket были разработаны для Делфей, а я писал под Borland C++ Builder 6.
Breg
Сообщения: 6
Зарегистрирован: 25 ноя 2004, 00:01
Откуда: Днепропетровск

16 дек 2004, 18:25

xpymep писал(а):Так что мой совет - НЕ ИСПОЛЬЗОВАТЬ СОКЕТЫ ВООБЩЕ.
Если можно, поясни как тогда работать по TCP/IP без сокетов. Или хотя бы ссылочку, где можно это прочитать.
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

16 дек 2004, 18:57

Потом написал чат под линукс (используя ихний сокет, можно преобразовать сообщения от winsock1.1)
Под Линукс сокеты те же, что и в Winsock2 (socket(),listen(), accept(), connect() etc), поскольку Winsock2 - это подчистую портированные BSD сокеты.
2B OR NOT(2B) = FF
DeeJayC
Сообщения: 492
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

16 дек 2004, 19:35

Breg писал(а):
xpymep писал(а):Так что мой совет - НЕ ИСПОЛЬЗОВАТЬ СОКЕТЫ ВООБЩЕ.
Если можно, поясни как тогда работать по TCP/IP без сокетов. Или хотя бы ссылочку, где можно это прочитать.
Поправка - не использовать сокеты, поставляемые с Борландом ВООБЩЕ.

omniORB, собранная под win32 открывает сокетов просто... ну очень
много. Работает - супер.
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
xpymep
Сообщения: 53
Зарегистрирован: 08 дек 2004, 21:42
Контактная информация:

17 дек 2004, 10:24

Absurd, не знаю... у меня так не пашет, и приходиться делать один кроссплатформенный модуль, через который все работает. По другому никак :) (у мя Mandrake9.0).
Breg
Сообщения: 6
Зарегистрирован: 25 ноя 2004, 00:01
Откуда: Днепропетровск

17 дек 2004, 21:31

xpymep писал(а):Absurd, не знаю... у меня так не пашет, и приходиться делать один кроссплатформенный модуль, через который все работает. По другому никак :) (у мя Mandrake9.0).
Можешь его намылить мне?:wink: Ибо я тоже кроссплатформенной свою прогу хочу сделать (у меня RedHat 9.0). И у меня по ходу дела планы возросли - я хочу не просто чат написать, а такой себе сетевой процессор, выполняющий основные функции по передаче инфы, а всё остальное выполняют плагины. Таким образом создам масштабируемое приложение. :D
Breg
Сообщения: 6
Зарегистрирован: 25 ноя 2004, 00:01
Откуда: Днепропетровск

17 дек 2004, 21:33

DeeJayC писал(а):omniORB, собранная под win32 открывает сокетов просто... ну очень много. Работает - супер.
А под линух можно её собрать?
Ответить