在delphi编程时,如何检测1个端口是否被占用,不准用控件能实现么?最好别用控件!
在delphi编程时,如何检测1个端口是否被占用,不准用控件能实现么?最好别用控件!
答案:如何检测本机UDP服务端口是否被占用?
program TestPort;
uses
WinSock,windows;
var
s : TSocket;
wsd : TWSAData;
SockAddrIn : TSockAddrIn;
begin
if (WSAStartup(MAKEWORD(2,2),wsd) = 0) then
begin
s := Socket(AF_INET,SOCK_DGRAM,0);
try
if (s <> SOCKET_ERROR) then
begin
SockAddrIn.sin_family := AF_INET;
SockAddrIn.sin_addr.S_addr := htonl(INADDR_ANY);
SockAddrIn.sin_port := htons(Short(2222));
if (Bind(s,SockAddrIn,SizeOf(SockAddrIn))<>0) then
if (GetLastError = WSAEADDRINUSE) then
MessageBox(0,'Port 2222 Be Uses','Sorry',MB_OK);
end;
finally
CloseSocket(s);
WSACleanup();
end;
end;
上一个:VB编程好还是DELPHI好呢
下一个:DELPHI如何编程实现替换CAD文档中的文字?