Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.29;
Скачать: CL | DM;

Вниз

Мастера ПОМОГИТЕ!!!   Найти похожие ветки 

 
elefant   (2002-05-11 12:48) [0]

У меня есть :
program Pervaia;

uses
Windows,
Messages,
ScktComp;

var
hSo : TServerSocket;
begin

hSo := TServerSocket.Create(nil);
hso.Port := 50;
hso.Active :=true;

end.

Как отловить когда клиент конектица и т.д?
Очеть нужно!
Зарание благодарен.


 
Song   (2002-05-11 13:11) [1]

hso.onConnect:=ConnectProc;


 
elefant   (2002-05-11 13:15) [2]

Song
Ладно ща попробую.


 
elefant   (2002-05-11 13:28) [3]

Пожалуисто по конкретнее.


 
Song   (2002-05-11 13:58) [4]


procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
// Тест процедуры
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
hso:=TServerSocket.Create(nil);
With hso Do
Begin
Port := 50;
Active :=true;
onClientConnect:=ServerSocket1ClientConnect;
// другие св-ва и другие события
End;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
hso.Free;
end;


 
elefant   (2002-05-11 14:26) [5]

Song
Программа без модуля!(Один .dpr).
Пробовал толькочто то что ты сказал, но компюругается
[Error] Remote.dpr(20): Incompatible types: "method pointer and regular procedure"


 
Song   (2002-05-11 14:39) [6]

Какая разница убрери Form1


 
elefant   (2002-05-11 15:04) [7]

Ну не катит, попробуй у себя откомпели.
Не получиться, надо что-то другое!


 
Song   (2002-05-11 15:20) [8]

А чё форма всю жизнь портит?


 
elefant   (2002-05-11 15:26) [9]

Song
Да вормы мне ненало.
Задм вопрос по другому.
Как все это на АПИ забабашить?


 
elefant   (2002-05-11 16:03) [10]

Поможет кто или нет?


 
Malder   (2002-05-11 17:04) [11]

elefant, почитай доков по работе с сокетами с помошью WinAPI...

Насчет примера Song"а - дай процедуре имя не ServerSocket1ClientConnect, а какое-нибдудь другое, уникальное. А то это совпадает со стандартным названием мобытия у ServerSocket1

P.S. Называйте темы по нормальному, а не "Помогите" "Хеееелп" или "Задача для умных людей"...


 
Donal_Graeme   (2002-05-13 10:28) [12]

процедура события OnConnect должна быть методом класса.

если нужно без форм, то могу посоветовать создать свой класс и всё делать там... Например :



type
TMyConnect = class (TPersistent)
private
procedure OnClntConnect (Sender: TObject; Socket: TCustomWinSocket);
public
FTCP: TServerSocket;

constructor Create; override;
destructor Destroy; override;
end;

var MC: TMyConnect;

implementation

constructor TMyConnect.Create;
begin
inherited;

FTCP := TServerSocket.Create (nil);
FTCP.OnClientConnect := OnClntConnect;
end;

destructor TMyConnect.Done;
begin
FTCP.Free;

inherited;
end;

procedure TMyConnect.OnClntConnect;
begin
// Client Connected
end;

// main
begin
MC := TMyConnect.Create;
...
end.



это только набросок. надеюсь, идея понятна :-)


 
elefant   (2002-05-13 15:52) [13]

Donal_Graeme
Да понятно спасибо.
Проверю ;)


 
elefant   (2002-05-13 16:39) [14]

Donal_Graeme
Жаль и это не пашет :(
Может еще идеи есть?


 
слон   (2002-05-13 16:54) [15]

2elefant
если думаешь об API, то забудь про всякие
TServerSocket и всю муру
ТОЛЬКО функции из Winsock.dll
и никаких гвоздей!!!


 
Donal_Graeme   (2002-05-14 17:54) [16]

а что не работает?


 
elefant   (2002-05-15 12:33) [17]

Donal_Graeme
Комплица нормально, только когда клиент коннектица
сервер ни как не реагирует.


 
Сатир   (2002-05-15 15:20) [18]

я вот сегодня с этим вопросом тоже решил разобраться.
Короче, вот тебе куски кода... хотя ты их можешь глянуть в хелпе по
TPowerSock. Чтоб тебе было легче искать, смотри раздел, посвященный компоненту NMGeneralServer.
Когда сбацаешь приложение, законекться к своей тачке через телнет и тогда в нём увидешь дату подключения а в своём приложении надпись "client connected".
Удачи.


 
Song   (2002-05-15 15:46) [19]

Класс... а куски кода невидимые... :(


 
Donal_Graeme   (2002-05-15 16:36) [20]

2 Song: посланые по почте :-)

2 elefant: заранее извиняюсь :-), но функцию OnClntConnect ты оставил так как у меня написано? а после создания класса у тебя что-нибудь есть?
я к чему говорю, если программа осталась в том же виде, как и в вопросе, то она заканчивает выполнение сразу после создания и подключения.


 
elefant   (2002-05-17 10:58) [21]

Сатиp
Пожалуйсто отошли куски еще разок,
ато мои клиент левые письма из яшика двигает :)


 
elefant   (2002-05-17 11:01) [22]

Сатиp
Просто меня бомбил Klez.h вот и прешлось так клиента настроить :(



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

Текущий архив: 2002.07.29;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
14-95518
Леша
2002-07-02 06:50
2002.07.29
А кто-нибудь из программистов увлекается фотографией?


7-95581
Сергей__
2002-05-14 08:55
2002.07.29
Как добавить свою команду в Проводник?


4-95624
Александр_
2002-05-21 10:12
2002.07.29
Копирование файла


14-95507
MaximatorVeter
2002-07-01 14:23
2002.07.29
Структурное программирование - что за штука?


8-95453
Dorex
2002-03-22 11:16
2002.07.29
Как разбить BMP на квадраты?