开放、分享、自由、中立、公平网吧论坛公众号APP(送下载币任务) 微信公众号

天下网吧论坛

 找回密码
 注册账号

QQ登录

只需一步,快速开始

用微信登录

扫一扫,用微信登录

查看: 5734|回复: 0
收起左侧

[开源] delphi判断端口(Port)是否被占用 在使用Socks编程时,有时需要判断某个端口是否被...

[复制链接]
发表于 2017-6-7 09:36:27 | 显示全部楼层 |阅读模式 发布于:河北省唐山市 电信
使用sock打开端口,失败的话就是已经被占用了
Delphi代码如下!

  1. uses Winsock;

  2. function IsPortUsed(const aPort: Integer): Boolean;
  3. var
  4. _vSock : TSocket;
  5. _vWSAData : TWSAData;
  6. _vAddrIn : TSockAddrIn;
  7. begin
  8. Result := False;
  9. if WSAStartup(MAKEWORD(2, 2), _vWSAData) = 0 then
  10. begin
  11. _vSock := Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  12. try
  13. if _vSock <> SOCKET_ERROR then
  14. begin
  15. _vAddrIn.sin_family := AF_INET;
  16. _vAddrIn.sin_addr.S_addr := htonl(INADDR_ANY);
  17. _vAddrIn.sin_port := htons(APort);
  18. if Bind(_vSock, _vAddrIn, SizeOf(_vAddrIn)) <> 0 then
  19. if WSAGetLastError = WSAEADDRINUSE then
  20. Result := True;
  21. end;
  22. finally
  23. CloseSocket(_vSock);
  24. WSACleanup();
  25. end;
  26. end;
  27. end;
复制代码

评分

1

查看全部评分

赶紧来设置你的签名->玩转天下网吧论坛签名

您需要登录后才可以回帖 登录 | 注册账号   扫一扫,用微信登录

本版积分规则

下载天下网吧手机APP,直接一键登录
您尚未登录,请登陆后浏览更精彩内容!
 注册账号
找回密码

手机版|纯文字版|联系我们|免责声明|网吧论坛 ( __ICP号__ )

GMT+8, 2024-4-19 15:05 , Processed in 1.357156 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表