Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Вниз

Ну не хочет Он работать!!!!!   Найти похожие ветки 

 
Arlekin   (2002-01-24 17:56) [0]

У меня вот такая проблема. Есть ClientSocket, он типа должен делать коннект на порт (без разницы на сервер или нет). Если порт открыт, то все Ок. Если нет - то все равно Ок, закрытый порт тоже кое-что значит.
Из приведенного выше Вам должно быть понятно, что Это сканнер портов. Вот.
Так он работает (Если проверяешь один порт). А вот когда даешь ему список из StrigList`а, то вылазеет ОШИБКА " Windows Soket Error ( 10049) on API connect". Жмешь Ок и даешь еще раз сканнировать появляется другая - " Windows Socket Error( 10022), on API"WSACancelASyncRequest"".
Ну так объясните мне почему проверка одного порта проходит успешно, а вот нескольких подряд нет? Я пробовал ставить Sleep на 1000 и на 10000, но эффект нулевой. В чем здесь дело?

Помогите плиз....


 
Digitman   (2002-01-24 18:19) [1]

"Из приведенного выше" Нам ничего непонятно, к примеру ) Особенно когда еще и StringList ни к селу ни к городу упомянут, да еще кто-тог куда-то там "вылаз еет".
А понятно станет лишь когда всю это ты объяснишь на Паскале, приведя соотв. фрагменты кода. Тогда и рекомендация конкретная будет)


 
Arlekin   (2002-01-24 18:39) [2]

DigitMen`y


Да че тут не понятного???? Я прошу обяснения на эти долбанные ошибки.

А лучше зайди в Чат!!!


 
Digitman   (2002-01-24 18:49) [3]

Мне гораздо проще изъясняться Паскаль-текстом , нежели повторять свои контрвопросы в чате, в надежде , что там ты прокомментируешь свой вопрос детальнее.


 
Digitman   (2002-01-24 18:52) [4]

Кр. того, ты даже не удосужился, насколько я понял, поискать в Делфи текстовое описание кодов получаемых ошибок.


 
$hade   (2002-01-25 14:36) [5]

в событии ClientSocketError - ErrorCode:=0;


 
$hade   (2002-01-25 14:38) [6]

Должно помочь... я писал сканер...давно...и такие же глюки были...а щя точно не помню что я делал...))


 
Arlekin   (2002-01-29 18:45) [7]

$hade.
Слушай. А ErrorCode:=0; не работает.
Вернее работает, но на ошибку соединения.

Ладно Даю полное описание.


var
Main: TMain;
MemoPorts:TStringList;
Number:Integer;
implementation

{$R *.DFM}

Procedure TMain.Scan(PortNum:Integer);
begin
Application.ProcessMessages;
PortScan.Port:=PortNum;
Try
PortScan.Open;
Except
on ESocketError do
Begin
PortScan.Active:=False;
Portscan.ClientType:=ctNonBlocking;
PortScan.Open;
Memo.Items.add("<"+PortScan.Host+">"+" Port "+Inttostr(PortScan.port)+" : Not found");
End;
End;
PortScan.Close;
End;



procedure TMain.btStartClick(Sender: TObject);
Var I,Port:Integer;
zaq:String;
Begin
btStart.Enabled:=False;
PortScan.Host:=Host.Text;
For i :=0 to ChlBox.Items.Count-1 do
If Chlbox.Checked[i] Then
Begin
zaq:=ChlBox.Items.Strings[i];
Port:=StrtoInt(ChlBox.Items.Strings[i]);
Scan(Port);
End;
btStart.Enabled:=True;
PortScan.Active:=False;
end;

procedure TMain.PortScanConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo.Items.add("<"+PortScan.Host+">"+" Port "+Inttostr(PortScan.port)+" : Open...");
PortScan.Close;
Portscan.ClientType:=ctBlocking;
end;

procedure TMain.PortScanError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
ErrorCode:=0;
Portscan.ClientType:=ctBlocking;
end;




Все полностью работает. при следующем условии: Если первый порт действительно открыт (На пример 139), то следйющие нормально определяются открыты или нет.


Но вот когда первый сканируемый порт неоткрыт, то следующие, хоть ты тресни, просто напросто показываются неоткрытыми (дажн тот же 139-й).

В чем глюк?
Помогите, Плз.


 
tty1   (2002-01-30 02:32) [8]

procedure TMain.PortScanError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
ErrorCode:=0;
Portscan.ClientType:=ctBlocking;
Socket.Close // <----------
end;

Сколько будет "весить" твой сканер при такой функциональности?..:)






Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
14-32946
novomod
2002-02-28 17:18
2002.04.11
О главном.Программист - болезнь,работа,увлечение?


6-32913
Z
2002-01-04 23:40
2002.04.11
Как получить IP адрес компьютера?


1-32853
atmospheric
2002-03-28 17:37
2002.04.11
удаление Item из ListView ?


4-33025
Aleksey1
2002-01-31 01:16
2002.04.11
win api


4-33015
zoid
2002-02-11 14:49
2002.04.11
Пресловутый TrayIcon - проблема с PopupMenu





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский