Форум: "Сети";
Текущий архив: 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