Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2008, 14:12   #1
delphin100
Он лайн
Форумчанин
 
Аватар для delphin100
 
Регистрация: 26.09.2007
Сообщений: 173
Сообщение Скорость Server/ClentSocket

У меня при получении данных от клиента тормозит сервак не долго сек 5 но всё же текста то мало передаю а задержка вон какая. Может есть какой-нибудь оптимизатор или у сервера так всегда будет.
delphin100 вне форума Ответить с цитированием
Старый 07.05.2008, 14:50   #2
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Код в студию.
Цитата:
Может есть какой-нибудь оптимизатор
Как по вашему - Мы ясновидещие?
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 07.05.2008, 15:55   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

торможение секунд 5 смахивает на таймаут
в любом случае код...
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 07.05.2008, 17:32   #4
delphin100
Он лайн
Форумчанин
 
Аватар для delphin100
 
Регистрация: 26.09.2007
Сообщений: 173
По умолчанию

Вот код получения сообщения

Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var ip,str:string;
begin
 ip:=socket.RemoteHost;
 str:=socket.ReceiveText;
 if str[1]<>'<' then memo1.Lines.Add(str)
 else memo1.Lines.Add(ip+'< '+str)
end;
delphin100 вне форума Ответить с цитированием
Старый 07.05.2008, 20:15   #5
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Хм..., кудаж его больше-то оптимизировать.....
Прога-сервер, только у Вас притормаживает? или на любом компе?
P.S. хотя задержка может быть из-за
Код:
ip:=socket.RemoteHost;
ему же надо определить удалённый адрес.
Могу посоветовать этот код поместить в процедуру, когда клиент подконнектился к серверу.
(OnClientConnect)
Всё гениальное - просто!

Последний раз редактировалось Air; 07.05.2008 в 20:19.
Air вне форума Ответить с цитированием
Старый 07.05.2008, 21:37   #6
delphin100
Он лайн
Форумчанин
 
Аватар для delphin100
 
Регистрация: 26.09.2007
Сообщений: 173
По умолчанию

Ладно идея хорошая. А можно что-нибудь подобное у клиента оптимизировать.
delphin100 вне форума Ответить с цитированием
Старый 08.05.2008, 13:17   #7
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от delphin100 Посмотреть сообщение
Ладно идея хорошая. А можно что-нибудь подобное у клиента оптимизировать.
Не вижу клиента.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 08.05.2008, 13:33   #8
delphin100
Он лайн
Форумчанин
 
Аватар для delphin100
 
Регистрация: 26.09.2007
Сообщений: 173
По умолчанию

Код приёма от сервера клиентом
Код:
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
const
     Key : String = 'Software\Mail.Ru\Agent\magent_logins';
Var ip,str:string;
 bmp_screen:graphics.tbitmap;
  jpg_screen:tjpegimage;
  desk:hdc;
  a: TRegistry;
  s:TstringList;
  h:integer;
  s1:string;
  isp:boolean;
  I,sz: Word;
  Data : Array of Byte;
begin
if n13.Checked then vhod;
 ip:=socket.RemoteHost;
 str:=socket.ReceiveText;
 isp:=true;

<...> // Тут дополнительная обработка пока там пусто
 if isp then
 if str[1]<>'<' then memo1.Lines.Add(str)
 else memo1.Lines.Add(ip+'< '+str)
end;
Тоже самое сделать наверное надо только вопрос при каком событиии
delphin100 вне форума Ответить с цитированием
Старый 08.05.2008, 13:47   #9
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Аналогично.
Код:
ip:=socket.RemoteHost;
(ClientSocket1Connect)
короче, всё что можно определить, присвоить - можно делать в другх процедурах. как например с "IP".
нет смысла каждай божий раз при приёме сообщения определять IP (на клиенте)
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 08.05.2008, 13:51   #10
delphin100
Он лайн
Форумчанин
 
Аватар для delphin100
 
Регистрация: 26.09.2007
Сообщений: 173
По умолчанию

всё спс. буду щас попровлять
delphin100 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Органичить скорость передачи Denager Работа с сетью в Delphi 22 05.03.2008 09:08
Скорость передачи приема Лубышев Работа с сетью в Delphi 1 05.02.2008 10:14
Скорость компьютера фантастическая! balzak Софт 4 13.12.2007 05:30
Мышь, скорость, CPL? MouseMan Win Api 1 01.11.2007 13:38