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

Вниз

KOLScktComp   Найти похожие ветки 

 
DeimosX7 ©   (2004-07-28 11:36) [0]

Как правильно создать событие ServerSocket.OnClientRead ?
я пробовал так :

procedure ServerSocketClientRead (Sender: PObj; Socket: PCustomWinSocket);
begin
 //код
end;

и вызов :

ServerSocket.OnClientRead := TOnEvent(MakeMethod(nil,@ServerSocketClientRead));


Компиляторговорит :
[Error] main.dpr(90): Incompatible types: Parameter lists differ


 
fellix   (2004-07-28 12:16) [1]

... OnClientRead := TSocketNotifyEvent(MakeMethod(...


 
DeimosX7 ©   (2004-07-29 17:05) [2]

хм.. тут вот  какая проблема..
я пытаюсь написать прогу для удаленного ведения log-ов
на базе сокетов
но ни чего не выходит..
упростил все до минимума в целях проверки,
та-же история
может подскажет кто?

условия работы такие:
2 компа

сервер 192.168.1.2
клиент 192.168.1.1
-------------------------------------
вот код:

сервер:
пишет все полученное в мемо


program TestServer;

uses
 kol,
 Windows,
 Messages,
 KOLScktComp;

var
form,memo:Pcontrol;
ServerSocket:TKOLServerSocket;
//---------------------------------

procedure ServerSocketClientRead (Sender: PObj; Socket: PCustomWinSocket);
begin
 memo.add(socket.receiveText);
end;

//---------------------------------
begin
Applet:=NewApplet("TestServer");
form:=NewForm(Applet,"TestServer");
Form.Style := WS_SYSMENU or WS_VISIBLE ;
form.CenterOnParent ;
Form.Font.FontName := "MS Sans Serif";
Form.Font.FontHeight := 9;
memo:=NewEditBox( Form,[eoMultiline,eoNoHScroll,eoNoVScroll,eoReadonly]).SetPosition(2,38).SetSize(290,160);

ServerSocket := NewServerSocket;
serverSocket.Port:=2066;
Form.Add2AutoFree(ServerSocket );
serverSocket.Active:=true;

serverSocket.OnClientRead:= TSocketNotifyEvent (MakeMethod(nil,@ServerSocketClientRead));

applet.StayOnTop:=true;
form.SetSize(300,300);
run(Applet);

end.

//--------------------------------

клиент:
раз в 4 секунды посылает сообщение(в тестовых целях)
видимой части не имеет..

program STest;

uses

 kol,
 Windows,
 Messages,
 KOLScktComp;

var
clientSocket:TKOLClientSocket;

begin

ClientSocket := NewClientSocket;
clientSocket.Port:=2066;

while true do
begin
   clientSocket.Address:="192.168.1.2";
   clientSocket.Active:=true;
   clientSocket.Socket.SendText("message");
   clientSocket.Active:=false;
   sleep(4000);
end;

end.


 
Gandalf ©   (2004-08-17 22:41) [3]

И что происходит?



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
9-1102832958
GURU-ru
2004-12-12 09:29
2005.03.13
Как сделать, чтобы в GLScene не проходить сквозь стены


14-1109168873
Almaz
2005-02-23 17:27
2005.03.13
Меритократия


14-1108830923
R.D.I.
2005-02-19 19:35
2005.03.13
Задачка или почему это работает?


3-1108031891
Zhenja
2005-02-10 13:38
2005.03.13
QReport. Печать. Помогите пожайлуста.


3-1108095477
КиТаЯц
2005-02-11 07:17
2005.03.13
FireBird. Селект с днями недели