Delphi中判断TCP端口是否被占用


本文整理自网络,侵删。

 function PortOccupied(const APort:Integer):Boolean; //Delphi中判断TCP端口是否被占用
var
S:TSocket;
WSD :TWSAData;
SockAddrIn:TSockAddrIn;
begin
Result:=False;
if (WSAStartup(MAKEWORD(2,2),WSD)= 0) then
begin
S := Socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
try
if (S <> SOCKET_ERROR) then
begin
SockAddrIn.sin_family := AF_INET;
SockAddrIn.sin_addr.S_addr := htonl(INADDR_ANY);
//SockAddrIn.sin_addr.S_addr := inet_addr(PAnsiChar(AnsiString(IP)));
SockAddrIn.sin_port:= htons(APort);
if (Bind(S,SockAddrIn,SizeOf(SockAddrIn))<>0) then
if (WSAGetLastError = WSAEADDRINUSE) then
Result:=True;
end;
finally
CloseSocket(S);
WSACleanup();
end;
end;
end;

相关阅读 >>

Delphi idhttp访问datasnap有密码验证的中间件

Delphi随机字符(密码生成)函数

Delphi里实现多线程下载文件并且显示进度到界面

Delphi 使用tarray.sort对数组排序

Delphi 微信公众平台 Delphi sdk

Delphi执行sql提示“不正常地定义参数对象”,“提供了不一致或不完整的信息”错误

Delphi 内存中加载dll

Delphi vcl 鼠标左键长按功能的实现

Delphi创建桌面快捷方式及锁定任务栏等功能

Delphi使用api实现模拟按键

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



打赏

取消

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

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

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

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

评论

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