从官方代码抄出来的,还挺方便,但是注意,这是用socket检查的,所以如果是你用其他库在这个端口开了个websocket,那不好意思,无法察觉
1.build.cs内添加 Sockets模块
2.头文件加一下
#include "Sockets.h"
#include "SocketSubsystem.h"
3.代码
bool 你的类名::IsPortAvailable(uint32 Port) const
{
if (ISocketSubsystem* SocketSubsystem = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM))
{
TSharedRef<FInternetAddr> Addr = SocketSubsystem->CreateInternetAddr();
Addr->SetAnyAddress();
Addr->SetPort(Port);
if (FUniqueSocket Socket = SocketSubsystem->CreateUniqueSocket(NAME_Stream, TEXT("TemporarySocket")))
{
if (Socket->Bind(*Addr))
{
return true;
}
}
}
return false;
}
有疑问邮箱联系吧,首页上有