![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброй ночи, товарищи.
В общем занимаюсь программированием на delphi уже 8 лет, за плечами много часов написания кода. Но вот этому проблему понять не могу. Есть ClientSocket и ServerSocket. Моя цель, получать скриншоты экрана от сервера к клиенту по запросу. - Так вот, запускаю на своем компе и сервера и клиента. Все работает безупречно, скриншоты получаю моментально. - запускаю сервера на компьютере, который как и я подключен к интернету, то есть теперь подключаюсь через интернет (даже не через локальную сеть), подключение проходит. Скриншот получаю через секунд 5-7. Ну оно и понятно, скорость интернета и прочее влияет. - Теперь тот же самый сервер запускаю еще на другом компьютере, который также находится в интернете. Но к сожалению, подключиться к нему удаётся, то есть у меня событие OnConnect происходит, а вот пока идет пересылка скриншота, связь обрывается ровно через 20 секунд (видимо интернет настолько медленный у человека, что за 20 секунд не успевает передаться скриншот). Вопрос, действительно ли таймаут срабатывает? Я почему то думал всегда, что таймаут действует только при событии OnConnecting, а не OnClientRead. Если не, таймаут, так что же может прерывать пересылку? При событии OnDisconnect у ClientSocket у меня стоит сообщение вывести. Вот это событие и происходит через 20 секунд. З.ы. думал, может каретка в начало не возвращена или т.п., якобы скриншот пересылается не с 0, либо уже прислан, а поток не закрыт, пробовал из-за этого перезапускать программу с клиентом не помогает. |
#2
|
||||
|
||||
![]() пробуй задать таймаут на саму передачу. и желательно проверяй каждые 10 секунд подключение.
— Засунь своё мнение в жопу! — Не могу: у меня там диплом филолога и мечты о прекрасном будущем. |