从官方代码抄出来的,还挺方便,但是注意,这是用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
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;
- }
有疑问邮箱联系吧,首页上有