我的软件是用了多线程!
扫描的主要代码是这样的!
var
skt:TSOCKET;
WSAData:Twsadata;
Re:integer;
begin
try
if (Wsastartup(MAKEWORD(2,0),wsadata)<>0) then exit; //初始化Sock
skt:=Socket(AF_INET,SOCK_STREAM,0); //建立Socket
if (skt = INVALID_SOCKET) then exit; //如果建立Socket出错就退出
Re:=connect(skt,Taddr,sizeof(taddr)); //建立 Socket 连接
if Re=0 then begin
Synchronize(AddPort); //如果端口打开就把内容显示在文本框中
end;
if Terminated then Exit;
finally
closesocket(skt); //关闭Socket
Wsacleanup(); //关闭winsock
end;
//============================
我把全部的代码公开,我自己写的,希望大家一起修改代码!
希望你把你修改的代码放在网上,给大家一起分享!
源码:
http://d99.3322.net/SearchPort.zip
我把代码公开的目的:
1.想和网上的朋友一起把多线程端口扫描的代码简化和完善!
2.因为我线程刚学不久,想看看大家是怎样写的!
3.也想和大家一起分享!
===============================
我在
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1018311
这里看过一个异步socket的api端口扫描代码
但我试过,这种“异步socket的api端口扫描”程序的扫描还是会给服务器检查到!
大家一起来论坛吧!