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

Вниз

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



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

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

Наверх




Память: 0.46 MB
Время: 0.005 c
3-18723
sasham
2002-01-09 17:33
2002.02.07
midas и com+ Ошибка при активации com oбъекта


7-18996
T2
2001-10-29 17:04
2002.02.07
Эквалайзер


6-18946
ReY
2001-11-13 11:17
2002.02.07
Как программно расшарить диск.... и обратно.


4-19025
Art
2001-11-18 18:06
2002.02.07
Как использовать ShellExecute?????


1-18824
cpp
2002-01-25 16:22
2002.02.07
Как создать клон экземпляра класса?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский