Конференция "Сети" » TServerSocket/TClientSocket SendText [D7]
 
  • Андрей (02.11.08 21:11) [20]
    Вот ... :(
    3 дня промучался. Сейчас ради эксперимента убрал на сервере
    s := Socket.ReceiveText;

    и вставил его в отображение Memo.
    Откликнулся мгновенно. Поставил эту строку назад и все летает.
    Что было так и не понял. Наверное, какой-то глюк.
    Завтра тестить буду. Спасибо за отклики.
  • Тын-Дын © (06.11.08 19:45) [21]
    Сомнения вызывает код чтения пришедших данных.
    Более того - в нём ошибка.
    Правильный алгоритм такой:

    var
     s: String;
    begin
     s := '';
     while Socket.ReceiveLength>0 do s := s+Socket.ReceiveText;
    ...

  • Сергей М. © (06.11.08 20:11) [22]

    > в нём ошибка


    Нет в нем в этом смысле ошибки.
    Данные не потеряются, так что цикл вовсе не обязателен.
  • Тын-Дын © (06.11.08 20:21) [23]

    > Сергей М. ©   (06.11.08 20:11) [22]
    >
    > > в нём ошибка
    >
    >
    > Нет в нем в этом смысле ошибки.
    > Данные не потеряются, так что цикл вовсе не обязателен.


    Судя по постам выше, у автора на это может быть логика завязана.
  • Сергей М. © (06.11.08 20:28) [24]
    Логика хоть и неважнецкая, но с этим все в порядке - получил шматок текста, дописал в конец стат.буфера, тут же обработал тек.содержимое буфера с должной его коррекцией (если таковая требуется) после обработки.
  • Тын-Дын © (06.11.08 20:35) [25]

    > Андрей   (29.10.08 14:36)  


    А на какой операционной системе проверяешь?
  • Сергей М. © (06.11.08 21:04) [26]

    > Тын-Дын ©   (06.11.08 20:35) [25]


    А по барабану на какой.

    WSA 1.01 работает везде одинаково
 
Конференция "Сети" » TServerSocket/TClientSocket SendText [D7]
Есть новые Нет новых   [134433   +22][b:0][p:0.001]