![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TspClient и TspServever [D7, XP]
kostyl_kostyl © (2009-08-12 12:38:00)Добрый день. Прошу показать пример обмена сообщениями сервера и клиента с помощью этих компонентов. У меня не выходит.
Я пишу:
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
begin
TcpServer1.Sendln('Ответ');
end;
//-----
if TcpClient.Connect then
begin
TcpClient.Sendln('Запрос');
Response := TcpClient.Receiveln;
ShowMessage(Response);
end
else
ShowMessage('Нет ответа');
TcpClient.Disconnect;
В лучшем случае выдает пустую строку. В худшем зависает на Response := TcpClient.Receiveln;. Помогите разобраться.
Заранее благодарю.
Dennis I. Komarov (2009-08-12 16:34:00) [101]
> kostyl_kostyl (12.08.09 16:31) [53]
Что-то я не видел этого в твоем коде... А вообще генофонд большой, давай еще "глубже"
kostyl_kostyl (2009-08-12 16:32:00) [102]
> Это как?
Ну пользователь же ждет пока приложение получит ответ.
kostyl_kostyl (2009-08-12 16:31:00) [103]
> Dennis I. Komarov © (12.08.09 16:27) [50]
recv(FSocket, buf, bufsize, MSG_PEEK)
Dennis I. Komarov (2009-08-12 16:30:00) [104]
> хочет его получить в течение 10 минут не более
тогда ждать 10 и потом "уходить"...
> при этом для пользователя клиента это все должно быть прозрачно.
Это как? И он то как тут оказался?
Dennis I. Komarov (2009-08-12 16:27:00) [105]
> "Глубже" - это куда ?
В процессор...
kostyl_kostyl (2009-08-12 16:27:00) [106]Не допустим сервер получил запрос и ему минутку надо или больше чтото проделать прежде чем отправить ответ.
Ка должен вести себя клиент если от послал запрос и хочет его получить в течение 10 минут не более, при этом для пользователя клиента это все должно быть прозрачно.
Сергей М. (2009-08-12 16:20:00) [107]
> Я просто глубже полез
"Глубже" - это куда ?
> если у меня сервер очень долго обрабатывает сообщение, он
> будет все это время "держать" клиента?
Что значит "держать" ?
Клиент волен в любое время по своему желанию "уйти")
kostyl_kostyl (2009-08-12 16:05:00) [108]
> Сергей М. © (12.08.09 16:01) [45]
Я просто глубже полез...
Кстати, а если у меня сервер очень долго обрабатывает сообщение, он будет все это время "держать" клиента?
Сергей М. (2009-08-12 16:04:00) [109]
> а то ломаетесь тут
Ну зато ты, видимо, тверже дуба - не cломаешься своей головой подумать и выяснить)
Dennis I. Komarov (2009-08-12 16:02:00) [110]
> могли бы и сказать, а то ломаетесь тут...
Это лишено смысла...
Сергей М. (2009-08-12 16:01:00) [111]
> kostyl_kostyl (12.08.09 15:37) [40]
Это откуда такое взялось ?
Цитирую фрагмент справки к методу TBaseSocket.ReceiveLn :
Reads delimited lines of data from the socket.
..
Description
Receiveln reads a delimited chunk of data from the socket. The delimeter cannot be part of the character set. Receiveln fills the buffer until it reaches the delimeter.
kostyl_kostyl (2009-08-12 15:56:00) [112]ой, могли бы и сказать, а то ломаетесь тут... А вообще спасибо всем кто помогал.
Dennis I. Komarov (2009-08-12 15:52:00) [113]к [38]...
kostyl_kostyl (2009-08-12 15:51:00) [114]так к чему мы пришли? я не понял...
Dennis I. Komarov (2009-08-12 15:42:00) [115]"Ну и что это за народное творчество..." (С) Матроскин
kostyl_kostyl (2009-08-12 15:37:00) [116]
> Peek at the incoming data. The data is copied into the buffer but is not removed from the input queue
Сергей М. (2009-08-12 15:36:00) [117]
> там ссылка на порт лежит
"Там" - это где ?)
Dennis I. Komarov (2009-08-12 15:23:00) [118]
> kostyl_kostyl (12.08.09 15:21) [37]
Овсянка в голове, сэр...
Dennis I. Komarov (2009-08-12 15:21:00) [119]
> Пока склоняюсь к мнению что регистр проца.
Ёёёёёё... какие слова страшные %)
> А вообще без понятия.
А посмотреть не судьба?
kostyl_kostyl (2009-08-12 15:21:00) [120]
> Вероятно на том что в проце якобы есть какие-то там "регистры"
> какого-то там невероятно большого размера ?)
Ну не знаю я. А мнение такое потому что я подумал что там ссылка на порт лежит. А вроде когда порт читается из него данные изчезают. Я видел схему когдато...