delphi 判断端口(Port)是否被占用


本文整理自网络,侵删。

 判断端口(Port)是否被占用 在使用Socks编程时,有时需要判断某个端口是否被占用,也就是是否被其它程序使用。

uses Winsock;

function IsPortUsed(const aPort: Integer): Boolean;
var
_vSock : TSocket;
_vWSAData : TWSAData;
_vAddrIn : TSockAddrIn;
begin
Result := False;
if WSAStartup(MAKEWORD(2, 2), _vWSAData) = 0 then
begin
_vSock := Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
try
if _vSock <> SOCKET_ERROR then
begin
_vAddrIn.sin_family := AF_INET;
_vAddrIn.sin_addr.S_addr := htonl(INADDR_ANY);
_vAddrIn.sin_port := htons(APort);
if Bind(_vSock, _vAddrIn, SizeOf(_vAddrIn)) <> 0 then
if WSAGetLastError = WSAEADDRINUSE then
Result := True;
end;
finally
CloseSocket(_vSock);
WSACleanup();
end;
end;
end;


相关阅读 >>

Delphi 比较两个日期相差天数

Delphi提取任意长度随机数

Delphi利用scrollbox实现图像漫游

Delphi将文件删除至回收站

Delphixe 如何调用stringtojstring

Delphi 双击listbox1内容,数据插入到memo1/synedit1鼠标指定位置

Delphi中启用禁止cd驱动器自动运行播放

Delphi renamefile 文件改名

indy tidtcpclient 的一个用法上要留意的问题,以及 http

Delphi中查找进程及强行结束进程的方法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...