Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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



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

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

Наверх





Память: 0.46 MB
Время: 0.007 c
7-18993
GovoRun
2001-10-26 22:27
2002.02.07
Поддерживает ли видеокарта это разрешение?


4-19030
Hair_Fly
2001-12-11 17:55
2002.02.07
Как мне запустить из своего сервиса некоторое приложение ?


4-19024
Art
2001-12-10 15:54
2002.02.07
А как получить полный список запущенных в системе задач???


6-18947
AlexH
2001-11-15 14:31
2002.02.07
Winpopup


3-18747
Dim
2002-01-11 09:22
2002.02.07
Значение параметра по умолчанию в InterBase e.





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