Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.007 c
7-95575
3d[Power]
2002-05-13 00:06
2002.07.29
ping


14-95503
Cranium
2002-07-01 13:43
2002.07.29
Почему код D5 не работает без установленных делфей


4-95628
Andrew_A
2002-05-21 14:04
2002.07.29
Message from service to desktop window


1-95304
Digi
2002-07-17 04:15
2002.07.29
перехватывание сообщений


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский