Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.04.2009, 15:32
Aless Aless вне форума
Прохожий
 
Регистрация: 13.04.2009
Сообщения: 26
Репутация: 10
По умолчанию Server Socket и ClientSocket в Delphi7

Народ!Help me!Я тут писал одну прогу с компонентами из Delphi такими как :ServerSocket и ClientSocket.Мне кажется,они есть в 3,4,5, дельфях.Но у меня стоит седьмая,и их в ней нет!Там есть какие-то TcpClient &Server.Пробовал использовать их,но уних недоступен ряд таких функций как:SendText , ReceiveText(в Событиях их нет) и другое.Расширение Socket он вообще не воспринимает(например TcpClient.Socket).Подскажите как мне их заставить правильно работать,или в седьмой дельфи они объявляются по-другому?
Ответить с цитированием
  #2  
Старый 13.04.2009, 15:57
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Без паники, ServerSocket и ClientSocket в семёрке есть. Только по умолчанию не установлены. Сделай
Component => Install Packages => Add => "C:/.../.../Delphi7/Bin/", и там файлик "dclsockets7.bpl"... Сокеты должны появиться.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj

Последний раз редактировалось PhoeniX, 13.04.2009 в 16:00.
Ответить с цитированием
Этот пользователь сказал Спасибо PhoeniX за это полезное сообщение:
thoril3144857 (17.08.2017)
  #3  
Старый 13.04.2009, 18:49
Aless Aless вне форума
Прохожий
 
Регистрация: 13.04.2009
Сообщения: 26
Репутация: 10
По умолчанию

Спасибо огромное,popyurv!Прогу за пять минут нарезал.А то неделю тупил с этим TcpServer и К°.
Ответить с цитированием
  #4  
Старый 23.04.2009, 14:42
alexnov alexnov вне форума
Прохожий
 
Регистрация: 16.04.2009
Сообщения: 33
Репутация: 10
По умолчанию

Напишу в этой теме пожалуй свой вопрос по сокетам: как организовать схему взаимодействия клиент-сервер на этих компонентах так, чтобы когда включается сервер, автоматически подсоединялись клиенты. Дело в том, что клиентские прогаммы являются резидентными на компьютерах-клиентах и не имеют пользовательского интерфейса )
Ответить с цитированием
  #5  
Старый 23.04.2009, 14:55
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Цитата:
Сообщение от alexnov
Напишу в этой теме пожалуй свой вопрос по сокетам: как организовать схему взаимодействия клиент-сервер на этих компонентах так, чтобы когда включается сервер, автоматически подсоединялись клиенты. Дело в том, что клиентские прогаммы являются резидентными на компьютерах-клиентах и не имеют пользовательского интерфейса )
ну дык мне кажется тут всё просто, создай окно приёма сообщений, таймер (API'вский) и каждый, например, 5 минут проверяй, робит ли серв.
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #6  
Старый 23.04.2009, 15:32
alexnov alexnov вне форума
Прохожий
 
Регистрация: 16.04.2009
Сообщения: 33
Репутация: 10
По умолчанию

сделал примерно так, только не 5 минут а 1 сек:
Цитата:
procedure TForm1.TimerConnectionTimer(Sender: TObject);
begin
if ClientSocket1.Active=false then
try
ClientSocket1.Active:=true;
except
ShowMessage('no connection');
end;

end;

Вроде и работает, тока потом при простое около часа выдает сообщения что типа буфер сокета слишком мал или типа того каждую секунду.
Ответить с цитированием
  #7  
Старый 23.04.2009, 15:40
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Цитата:
Сообщение от alexnov
сделал примерно так, только не 5 минут а 1 сек:


Вроде и работает, тока потом при простое около часа выдает сообщения что типа буфер сокета слишком мал или типа того каждую секунду.
во первых зачем каждую секунду? утечка памяти, ищи, какой то буфер переполняется, а больше 2 гигов незя
во вторых ошибки Client\ServerSocket обрабатывай событием OnError, Active никаких Raise он не поднимает
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:35.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter