Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос о стабильности TServerSocket 
:(
    Опции темы
Coder
Дата 18.12.2006, 05:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



есть стандартный сервер:
Код

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  inp : string;
  size : integer;
begin
  inp:=Socket.ReceiveText;

  Memo1.Lines.Add('---- INPUT DATA ----');
  Memo1.Lines.Add('Remote Host: '+Socket.RemoteHost);
  Memo1.Lines.Add('Remote Address: '+Socket.RemoteAddress);
  Memo1.Lines.add('Data:');
  Memo1.Lines.Add(inp);

  if CheckBox1.Checked then // отвечать клиенту?
    begin
      size:=4;
      Socket.SendBuf(size,2);
      Socket.SendText('OK'#13#10);
    end
  else
    Socket.Close;
end;


меня интерисует на сколько он стабилен? т.е. как много сможет принять одновременных подключений? и что будет если клиент будет слать данные очень плотно (с мальким промежутком времени). у меня пока нет возможности "вживую" проверить все это, поэтому и спрашиваю здесь.
PM MAIL   Вверх
php
Дата 18.12.2006, 06:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Могу сказать одно Сокет с этим не справится (при приёме любого вида данных !), 
особенно как описано выше, что данные идут очень плотно, то тем более.
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Snowy
Дата 18.12.2006, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Выставь режим работы TreadBlocking и убери вообще всё взаимодействие с VCL.
Никаких мемов, чекбоксов и чего-либо глобального.
Синхронизация с VCL просто недопустима при большом кол-ве подключений, а тем более частых обращениях.
А лучше сделай на Indy с использованием ThreadManager'a.
PM MAIL   Вверх
DragonFire
Дата 19.12.2006, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: нет
Всего: 9



Вопрос немножечко в тему:
Никогда с Indy не работал - "что это такое и с чем это едят?" Можно ссылочку на нормальное описание что это вообще такое и примеры...


--------------------
PM MAIL ICQ   Вверх
TrillerMan
Дата 20.12.2006, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



Цитата(DragonFire @ 19.12.2006,  19:18)
Вопрос немножечко в тему:
Никогда с Indy не работал - "что это такое и с чем это едят?" Можно ссылочку на нормальное описание что это вообще такое и примеры...

Хелп делфы F1 Indy и в яндексе стока,что завалишся))

Добавлено @ 11:37 
Цитата(Snowy @ 18.12.2006,  11:02)
Выставь режим работы TreadBlocking и убери вообще всё взаимодействие с VCL.
Никаких мемов, чекбоксов и чего-либо глобального.
Синхронизация с VCL просто недопустима при большом кол-ве подключений, а тем более частых обращениях.
А лучше сделай на Indy с использованием ThreadManager'a.

Помойму потоки надо заюзать и всё нормально,а про vcl бред.потоки и всё норм ну indy юзать надо однозначно
PM MAIL   Вверх
Snowy
Дата 20.12.2006, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



http://snowy.delphist.com/books/#indy

Добавлено @ 11:53 
Цитата(TrillerMan @  20.12.2006,  11:33 Найти цитируемый пост)
Помойму потоки надо заюзать и всё нормально.
Ясен перец потоки.
Я так и сказал
Цитата(Snowy @  18.12.2006,  11:02 Найти цитируемый пост)
Выставь режим работы TreadBlocking 


Цитата(TrillerMan @  20.12.2006,  11:33 Найти цитируемый пост)
а про vcl бред.
Тогда нафига делать потоки, если они всё равно будут стоять в очереди, чтобы добавить строчку в мемо?
Это будет самый тормозной сервер в мире smile
Как вариант, каждый тред может накапливать свой лог и сбрасывать его в мемо раз в секунду.
Но ломиться наперебой, выстраиваясь в очередь потоки не должны.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.