Вниз
Скачать: CL | DM;

Проблема с постом сообщений по TTcpSocket в D7   Найти похожие ветки 

← →
empty ©   (2004-05-24 16:05) [0]

Пояснение к проблемме:

Создано тестовое приложение для передачи данных по сети для проверки передачи данных. Со свойством в TTcpServer и TTcpClient (BlockMode=bmNonBlocking) "асинхронная передача данных". При передачи данных возникают события которые свойственны для данных компонентов в часности у серверного компонента OnAccept, в нём необходимо выполнить операцию чтения из клиента информации. Т.е. кодом вышлядит примерно так :

procedure Form1.TcpServerAccept( Sender : TObject, ClentSocket : TTcpClient);

Var Mes : String;

begin
While MSG<>"" do
  begin
   Mes:=ClientSocket.ReadLn;
  end;  
end;

При этом в переменную постоянно присваивается значения которые в такой же последовательности были присланы от слиента к серверу. Так вот это событие возникает без проблем, но, !когда форма активна! в переменную не присваивается значение текста посланого от клиента и при изменения активности формы, сразу начинают приходить все сообщения которые были посланы. Тоесть при разнице свойства Active на форме с компонентом (а точнее приложении) чувствуется разница в доставке сообщения. Тоесть событие происходит а буфер сообщений постоянно пустой, и только при незначительных изменениях он начинает заполнятся, при каких мне сложно отследить и в принципе не представляется возможным... Прошу подсказать в чём может быть причина при изменении этого свойства.

С уважением Денис. (empty)


← →
tesseract   (2004-05-25 09:23) [1]

Используй idTcpServer, стандартные дельфёвые компоненты глючат сильно. Заманаешься. Там вообще сложно понять что и когда ты получаешь.


← →
nomshar   (2004-05-26 15:48) [2]

Слушай, ты во-первых, зачем в обработчике OnAccept заводишь цикл? У тебя же вся программа нафиг встанет.
А во-вторых. Дай код. Хотя там ничего сложного и можно в принципе обойтись и дельфишными компонентами.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.03 c
1-1089701507
sergeii
2004-07-13 10:51
2004.07.25
Подскажите как в строке чисел наитйти букву


4-1086710050
фантазёр
2004-06-08 19:54
2004.07.25
Printer


3-1088619879
Zlod3y
2004-06-30 22:24
2004.07.25
Окно ввода логина и пароля при подключении к алиасу в ODBC


1-1089136713
Программатор
2004-07-06 21:58
2004.07.25
Универсальный редактор свойств


1-1089552359
Tahion2
2004-07-11 17:25
2004.07.25
Добавить прозрачную Label на CoolBar без полосы.




   Наверх