Конференция "Сети" » TClientSocket 10022 Error [WinXP]
 
  • alekseyi © (30.03.10 09:14) [0]
    Windows socket error: Получен недопустимый аргумент (10022), on API 'WSACancelASyncRequest'
    Написал клиента, без прокси работает все отлично, а вот когда через прокси вылазиет вот такая ошибка, хотя при этом все работает, В ClientOnError прописал ErrorCode:=0; не помогает. Подскажите как избавиться от это сообщения!

    Заранее благодарю
  • alekseyi © (30.03.10 09:40) [1]
    есть подозрение что все из за процедуры

    procedure Reconnect(mclient;TClientSocket);
    begin

    mclient.close;
    mclient.open;
    end;

    я уже переделал так

    procedure Reconnect(mclient;TClientSocket);
    begin

    mclient.close;
    sleep(300);
    mclient.open;
    end;

    не помогло...
  • Сергей М. © (30.03.10 09:42) [2]
    У тебя ошибка в программе
  • Сергей М. © (30.03.10 09:54) [3]
    Прокси здесь вообще ни причем.

    Метод Сlose следует вызывать только для сокета, для которого ранее перед этим был вызван метод Open.

    К тому же есть св-во Active, которым и следует пользоваться в таких случаях:
  • alekseyi © (30.03.10 10:04) [4]
    все оказалось просто!
    клиент не успев отключиться опять подключается, поставил таймер примерно на 0,5 сек. и все!
    так сказать
    client.close
    ждем ~0,5 сек
    client.open
    все без запарок
    Спасибо за помощь
  • Сергей М. © (30.03.10 10:22) [5]

    > ждем ~0,5 сек


    Это не решение, а новые грабли.
    Рано или поздно ты на них наступишь и будет больно.
  • alekseyi © (30.03.10 10:27) [6]
    предлагаешь так?

    procedure ReConnect(mclient:TClientSocket);
    begin
    client.socket.active:=false;
    client.socket.active:=true;
    end;
  • Сергей М. © (30.03.10 10:32) [7]
    Предлагаю открыть справку и ВНИМАТЕЛЬНО изучить события этого компонента, в частности события OnConnect, OnDisconnect.
    Они же не для Пушкина придуманы)
  • brother © (30.03.10 10:34) [8]
    > Они же не для Пушкина придуманы)

    Да уж... бедный Пушкин...
 
Конференция "Сети" » TClientSocket 10022 Error [WinXP]
Есть новые Нет новых   [134437   +29][b:0][p:0]