Конференция "Начинающим" » Корректное завершение работы TIdTCServer [D7, WinXP]
 
  • PonosetcDM © (07.09.10 11:08) [0]
    Здраствуйте, уважаемые господа!
    У меня такой вопрос: Есть клиентское и серверное приложения, использую Indy 10, вопрос: после того, как клиент установил соединение с сервером, я, спустя некоторое время хочу закрыть серверное приложение, закрывается с Exception'ом но это не важно(наверно)... после этого, запускаю серверное приложение опять, а мне сообщается, что "Error - Could not bind socket. Address and Port already in use"
    как с этим бороться помогите плиз....
  • PonosetcDM © (07.09.10 11:09) [1]
    закрываю приложение следующим образом:
         try
           tlst := SFrmMain.IdTCPServer1.Contexts.LockList;
           for i:= 1 to tlst.Count -1 do
             TIdContext(tlst.Items[i]).Connection.Disconnect;
         finally
           SFrmMain.IdTCPServer1.Contexts.UnlockList;
         end;
         SFrmMain.IdTCPServer1.Active := false;
         SFrmMain.Close;
  • PonosetcDM © (07.09.10 11:11) [2]
    Если даже клиент сделает дисконнект, то все равно тоже самое "Error - Could not bind socket. Address and Port already in use", можеь быть есть определенный интервал времени, который необходимо выждать?
  • Anatoly Podgoretsky © (07.09.10 11:26) [3]
    > PonosetcDM  (07.09.2010 11:08:00)  [0]

    Надо использовать try finally
  • PonosetcDM © (07.09.10 11:30) [4]
    причем сдесь try finally, если я просто перезапускаю программу? и там вываливается ошибка что "Could not bind socket. Address and Port are already in use". Смысл в том, что он в цикл не заходит, кстати, хотя соединение с этим сервером активно...
  • PonosetcDM © (07.09.10 11:59) [5]
    Хотелось бы услышать мнение Сергея М. по этому вопросу.
  • PonosetcDM © (07.09.10 12:23) [6]
    Удалено модератором
  • Anatoly Podgoretsky © (07.09.10 12:54) [7]
    > PonosetcDM  (07.09.2010 11:30:04)  [4]

    Вот для того что бы этого не было.
    А ты что сюда за советом пришел или препираться, если за первым, то марш
    исполнять.
  • Сергей М. © (07.09.10 13:24) [8]

    > он в цикл не заходит


    Кто "он" ?
    В какой цикл ?


    > for i:= 1 to tlst.Count -1 do


    Единица-то с какого перепугу тут ?
 
Конференция "Начинающим" » Корректное завершение работы TIdTCServer [D7, WinXP]
Есть новые Нет новых   [134437   +29][b:0][p:0]