ue4 unreal cpp c++ 检测 检测 端口是否占用

从官方代码抄出来的,还挺方便,但是注意,这是用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;
}

有疑问邮箱联系吧,首页上有

猜你喜欢

转载自blog.csdn.net/ljason1993/article/details/125899421