powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / порты - почему они меня на(обманивают) ?
3 сообщений из 3, страница 1 из 1
порты - почему они меня на(обманивают) ?
    #32219117
Marek Zdanowski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ребята вот я детекчю порты, от каждого циклом окрещённого .порта
хочю тока одно узнать, listen он или busy

делаю я ето вот таким найужаснейшим ужасным способом

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
  LanInfo:=EnumInterfaces;  //эта funkcija мне IP.addr(через dot) и маску вернёт

  WSAStartUp($0101 ,wsaD);

  A.sin_family:=AF_INET;
  A.sin_addr.S_addr:=inet_addr(PChar(LanInfo.Mask+'.'+LanInfo.ipAddr));

  for i:= 1  to  65535  do
  begin
    S:=socket(AF_INET,SOCK_STREAM, 0 );

    A.sin_port:=hTons(i);

    WSASetLastError( 0 );
    bind(S,A,SizeOf(A));
    
    
     case GetLastError of
         10049 :FStatus:='listen';
         10048 :FStatus:='busy';
      end;



всё это у меня отдельним обектом ниточкой проходит, ну так чясть портов таким способом я детекчю правильно но вот например некоторые порты просто полные мерзавцы !!!

вот например порт 139 (не обращяйте внимания он у меня покачто не прикрыт)
или порт 1035 говорят что они LISTEN (изходя из моего кодика)

и когда я ети порты впихиваю в Bindings.list какого нибудь server обекта, то при активации server обект не может слушать client connections на портах 1035 или 139 почему ??

я никак немогу определить что они заняты, и вопрос заняты они ли на самом деле ? смотрю все свои firewal-ы , там нигде ети порты не фигурируют,

а server об. выдаёт ошибку ::asynchron..... errror port is (типа уже используеться)


одним словом что в моём коде надо подправить чтобы я мог правильно детектить порты ?

благодарю.....
...
Рейтинг: 0 / 0
порты - почему они меня на(обманивают) ?
    #32219119
Marek Zdanowski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в принципе если сделать


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 A.sin_addr.S_addr:=inet_addr(PChar(LanInfo.ipAddr));

 .....


 case 
       0 : //no socket error begin bla bla bla
     .. 48  //busy 




то результат вроде бы устроил бы меня но почему тогда когда я маску убераю то вроде бы всё работает так как надо

и вобще может ктонибудь чего нибудь может посоветовать мне по привёдённому мною коду, правильный ли это подход через носки ?
...
Рейтинг: 0 / 0
порты - почему они меня на(обманивают) ?
    #32219144
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Listen - обозначает что этот порт слушает другой процесс. Тоесть этот порт уже занят, его нельзя использовать.
Ну а про busy ты и так знаешь.
все правильно у тебя, успехов, товарищ!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / порты - почему они меня на(обманивают) ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]