Показать сообщение отдельно
  #1  
Старый 28.01.2012, 00:54
balabol balabol вне форума
Прохожий
 
Регистрация: 28.01.2012
Сообщения: 2
Репутация: 10
По умолчанию ServerSocket делает Disconnect через 20 секунд, почему?

Доброй ночи, товарищи.

В общем занимаюсь программированием на delphi уже 8 лет, за плечами много часов написания кода.

Но вот этому проблему понять не могу.

Есть ClientSocket и ServerSocket. Моя цель, получать скриншоты экрана от сервера к клиенту по запросу.

- Так вот, запускаю на своем компе и сервера и клиента. Все работает безупречно, скриншоты получаю моментально.

- запускаю сервера на компьютере, который как и я подключен к интернету, то есть теперь подключаюсь через интернет (даже не через локальную сеть), подключение проходит. Скриншот получаю через секунд 5-7. Ну оно и понятно, скорость интернета и прочее влияет.

- Теперь тот же самый сервер запускаю еще на другом компьютере, который также находится в интернете. Но к сожалению, подключиться к нему удаётся, то есть у меня событие OnConnect происходит, а вот пока идет пересылка скриншота, связь обрывается ровно через 20 секунд (видимо интернет настолько медленный у человека, что за 20 секунд не успевает передаться скриншот).

Вопрос, действительно ли таймаут срабатывает? Я почему то думал всегда, что таймаут действует только при событии OnConnecting, а не OnClientRead.

Если не, таймаут, так что же может прерывать пересылку?
При событии OnDisconnect у ClientSocket у меня стоит сообщение вывести. Вот это событие и происходит через 20 секунд.

З.ы. думал, может каретка в начало не возвращена или т.п., якобы скриншот пересылается не с 0, либо уже прислан, а поток не закрыт, пробовал из-за этого перезапускать программу с клиентом не помогает.
Ответить с цитированием