Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Вниз

pomoghite gde tut oshibka 


krimer   (2001-11-10 17:52) [0]

S> hI
S> please pomoghite!!!
S> u mnea tut problema s obrabotkoi sobitii i problema s
S> ServerSocket.ClientRead := MyObject.ClientRead; daiot oshibku please
S> podkoriktiruite chto u menea tut ne tak, blin nikto tolkom ne skazal
S> chto tut ne tak!
S> spasibo zaranee




S> program sturm;
S> {$APPTYPE CONSOLE}

S> uses
S> SysUtils,
S> ScktComp;

S> type
S> TMyObject = class

S> public
S> procedure OnClientConnect(Sender: TObject; Socket: TCustomWinSocket);
S> procedure ClientRead(Sender: TObject; Socket: TCustomWinSocket);
S> end;


S> var
S> ServerSocket : TServerSocket;
S> MyObject: TMyObject;

S> procedure TMyObject.OnClientConnect(Sender: TObject; Socket: TCustomWinSocket);
S> var
S> i: integer;
S> begin
S> WriteLn("Client connect " + Socket.RemoteAddress + ":" + IntToStr(Socket.RemotePort));
S> {Посылаем ВСЕМ клиентам сообщение из Edit1}
S> for i := 0 to ServerSocket.Socket.ActiveConnections-1 do begin
S> ServerSocket.Socket.Connections[i].SendText("+OK Sturm.NET Server v0.1 ready <" + "localhost" + ">");
S> end;
S> end;

S> procedure TMyObject.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
S> begin
S> WriteLn("Client message " +Socket.ReceiveText);
S> end;

S> begin
S> ServerSocket := TServerSocket.Create(nil); // создаем объект - серверное гнездо
S> ServerSocket.Port := 4567; // порт задан "от фонаря" !!
S> ServerSocket.ServerType := stNonBlocking; // для простоты - неблокирующий режим
S> MyObject := TMyObject.Create; // создаем объект - обработчик событий серв.гнезда
S> ServerSocket.OnClientConnect := MyObject.OnClientConnect; // назначаем обработчик на подключение ублюдка
S> ServerSocket.ClientRead := MyObject.ClientRead; // назначаем обработчик на прием месаг ублюдка
S> WriteLn("Sturm.NET Server v0.1");

S> try
S> ServerSocket.Active := True; // старт серв.гнезда
S> ServerSocket.Active := False; // halt
S> while not Application.Terminated do begin
S> Application.ProcessMessages; // process messages in the message queue
S> Sleep(10); // don"t use 100% CPU
S> end;

S> finally
S> ServerSocket.Free; // разрушаем серв.гнездо
S> MyObject.Free; // разрушаем объект-обработчик
S> end;
S> end.



kravt   (2001-11-10 21:22) [1]

1.Добавить в uses ..,Forms,..

2.Вместо
> ServerSocket.ClientRead := MyObject.ClientRead;
cделать
ServerSocket.OnClientRead := MyObject.ClientRead;

3. И закомментировать
ServerSocket.Active := False

Удачи. Александр.



krimer   (2001-11-11 13:48) [2]

spasibo



Digitman   (2001-11-12 14:00) [3]

>kravt

"1.Добавить в uses ..,Forms,.." - это еще зачем ?



Digitman   (2001-11-12 14:08) [4]

>krimer
1.Как только ты задействуешь модуль Forms, ты потеряешь многие из преимуществ консольного приложения.

2.
S> while not Application.Terminated do begin
S> Application.ProcessMessages; // process messages in the message queue
S> Sleep(10); // don"t use 100% CPU
S> end;

Это зачем ? TServerSocket создает собственное окно и обрабатывает сообщения самостоятельно



krimer   (2001-11-14 14:30) [5]

nu narod daite delinii sovet! atgo uje zadolbalsea!!!
please!!



Digitman   (2001-11-15 09:06) [6]

>krimer
Тебе уже дали дельный совет ! Что еще-то хочешь ?

...
try
ServerSocket.Active := True; // старт сервера
ReadLn; // ждем нажатия <ENTER>, чтобы завершить работу сервера
ServerSocket.Active := False; // стоп сервера
finally
ServerSocket.Free;
MyObject.Free;
end;
...



krimer   (2001-11-16 20:49) [7]

tak blin ne pashet ono k serveru konektitsea a vot v okne servake nifiga ne pishetsea a mnogie mne govoreat chto readln ne obrabativaet sobitie popitaitesi eto otkompiliropvati tak ono ne budet ispolneat postavleanie pered nim zadachi




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.02 c
3-18763           Koks                  2002-01-08 14:43  2002.02.07  
QReport ?? !!! ???? !!!


1-18849           well                  2002-01-22 13:09  2002.02.07  
Вопрос по TTreeViev (TTreeNode)


14-18963          VEG                   2001-12-15 21:35  2002.02.07  
Проблема при разработке графического компонента.


1-18787           Dmitriy_R             2002-01-21 14:11  2002.02.07  
Как проще сделать что-бы отображать число 1 в виде 01


14-18956          fliz                  2001-12-18 14:16  2002.02.07  
>Merlin